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(); //尤其是这句让我费解,它的调用我怎么也接受不了
}
}
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(); //尤其是这句让我费解,它的调用我怎么也接受不了
}
}
所以你.increment().increment().increment()
操作的是同一属性i
你操作了三次,所以i就为三了new Leaf().increment().print();
new Leaf().increment().print();
new Leaf().increment().print();
这样i每次出来都是1,因为这是三个不同的实例