假设我有一个班级:
class A {
public A fun() {
System.out.println("a");
return this;
}
}
一个场景:
A a = new A();
a.fun().fun().fun().fun();
a.fun().fun();
是否有可能在每次有序呼叫的第一次呼叫中打印其他消息而不添加.start()
/ .finalize()
之类的内容?
答案 0 :(得分:4)
你可以这样做:
public class A {
public A fun() {
System.out.println("A");
return new AA();
}
private class AA extends A {
@Override
public A fun() {
System.out.println("AA");
return this;
}
}
public static void main(String[] args) {
A a = new A();
a.fun();
a.fun().fun();
a.fun().fun().fun();
}
}
输出:
A
A
AA
A
AA
AA