this:代表当前对象的引用
return this:返回当前对象的引用(就是实际调用这个方法的实例化对象)
class C {
int i = 0;
public C() {
System.out.println(this);
}
C increment() {
i++;
System.out.println(this);
return this;
}
void print() {
System.out.println("i=" + i);
}
}
public class A {
public static void main(String[] args) {
new C().increment().increment().increment().print();
}
}
从这里可以看到,在new了一个实例后,反复调用本实例中的类成员方法:increment()。
由于return this语句的作用,实际上并没有新建新的对象实例。
从而完成了对对于该实例的类成员变量i的累加操作。
输出的结果如下:
(实例在机器中的地址并未改变)