如果一个方法的自变量或者一个局部变量与对象的成员变量同名,就可以用this来引用成员变量,与自变量或局部变量区分开。

解决方案 »

  1.   

    class myThis 
    {
       String  a = "Hello";
    public static void main(String[] args) 
    {
    System.out.println("Hello World!");
    String b = "myTry";
    myThis m = new myThis();
    m.writeThis(b);
            System.out.println("Hello World!" + m.a );
    }
    public void   writeThis(String a)
    {
    this.a = a;
    }
    }
    理解一下这个例子。
    this.a 中的a 指的是public a ;
     = a 中的a 指的是String a;
      

  2.   

    我的理解:
    class a
    {
      ……
      public void c()
      {
        System.out.println(1);
      }
      class b
      {
         public void c()
         {
           System.out.println(2);
         }
         this.c(); //输出该是2,而不是1
      } 
    }
      

  3.   

    同意楼上的,this 就是用在哪个类里,就代表哪个类本身,当然是最近的,比如上面的内部类,不过一般用于楼上的楼上说的那种情况
      

  4.   

    没错,上面的举了一个member inner class的例子,在这个例子当中,在inner class中的this指的是inner class,要在inner class中调用包含这个inner class的class要这样用OutClass.this(假设包含inner class的类名为OutClass),而在OutClass中调用自己的函数或方法就可以直接用this.xxx;
      

  5.   

    使用THIS是为了区分两个同名,但不在同一类中的变量,用THIS引用的变量是指本类中的变量,而不用它引用的变量可以是外部类的变量。仅此而已。