public class test
{
  int a;
  String b; 
  public test(int a,String b)
  {
     this.a=a;  //这地方给类变量赋值,必须用this
     this.b=b;
  }  
  public String getB()
  {
     return this.b; //这地方可以用this,也可以不用
   }  
}

解决方案 »

  1.   

    this代表当前语句执行时的当前对象引用。
      

  2.   

    借用一下上面兄弟的代码public class test
    {
      int a;
      String b; 
      public test()
      {
         int a=3;
         String b="ok";
         this.a=a;  //这地方给类变量赋值,必须用this
         this.b=b;
      }  
      public String getB()
      {
         return this.b; //这地方可以用this,也可以不用
       }  
    }
      

  3.   

    我觉得必须调用的
    1,方法调用的时候如果参数和成员变量重名,那么必须用this
    class A{
        String name = null;
        setName(String name){
            this.name = name;
        }
    }
    2, 显式调用构造器的时候:this(p1,p2)调用对应参数的构造器。
      

  4.   

    补充一点。在多线程时。public class Test extends JApplet implements Runnable{
      Thread a;
      public Text{
        a=new Tread(Test.this)
      }
     public void run{}
    }
    这样可以真正实现多线程(用Runnable)。