自己写写程序就明白了.
public class Test {
   private String name;
   public void setName(String name) {
      this.name = name;
   }
}
还有内部类中的this用法,稍微有些麻烦.

解决方案 »

  1.   

    this 就是一个类的一个对象的别名,在C++里是指针但Java里没有指针,其实也就是一个指针
    例如
    public class Test {
       private String name;
       public void setName(String name) {
          this.name = name;
       }
    }
    如果你声明了一个Test类
    Test myTest = new Test();
    在这个myTest里this就是myTest在静态方法里不可以用this
    因为静态方法是所有类的公有的,不属于某一个对象.你在一个类里的实现可以指定this
    也可以不指定,因为this是默认的.如
    public class Test {
       private String name;
       public void setName(String newName) {
          this.name = newName;
          // name = newName; 亦可, 除非如上例为了区别两个name, 一个函数参数,一个类成员.
       }
    }
      

  2.   

    有一些内部类问题,解决办法可以这样:
    class OuterClass{
      int attr;
      private class InerClass{
        int readAttr(){
           return OuterClass.this.attr;
        }
      }
    }
      

  3.   

    在java中,this就是某个对象的引用,也就是说哪个对象调用了该方法,该方法中的this引用就是哪个对象。如:
    class myClass{
      private int age;  public myClass(){}  public int get(){
        return this.age;
      }
      ............
    }myClass mc = new myClass();mc.get();// 此时,get方法中的this引用就是mc