注:参考了JIT(java in thinking),示例都是那里面的。 1、在一个类中,this可以表示该类的当前实例;例如: public class Leaf {   private int i = 0;   Leaf increment() {     i++;     return this;   }   void print() {     System.out.println("i = " + i);   }   public static void main(String[] args) {     Leaf x = new Leaf();     x.increment().increment().increment().print();   } } ///:~ 2、若为一个类写了多个构造器,那么经常都需要在一个构造器里调用另一个构造器,以避免写重复的代码。这时可以使用this,例如: //: Flower.java // Calling constructors with "this" 
public class Flower {   private int petalCount = 0;   private String s = new String("null");   Flower(int petals) {     petalCount = petals;     System.out.println(       "Constructor w/ int arg only, petalCount= "       + petalCount);   }   Flower(String ss) {     System.out.println(       "Constructor w/ String arg only, s=" + ss);     s = ss;   }   Flower(String s, int petals) {     this(petals); //!    this(s); // Can't call two!     this.s = s; // Another use of "this"     System.out.println("String & int args");   }   Flower() {     this("hi", 47);     System.out.println(       "default constructor (no args)");   }   void print() { //!    this(11); // Not inside non-constructor!     System.out.println(       "petalCount = " + petalCount + " s = "+ s);   }   public static void main(String[] args) {     Flower x = new Flower();     x.print();   } } ///:~ 
而需要注意的是:在一个类A的内部类B中使用this它表示的并非是A.B的当前实例,而是A的当前实例;
   
 
  |