是否有可能检测流利接口是否第一次被调用?
问题描述:
比方说,我有一个类:是否有可能检测流利接口是否第一次被调用?
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()
?
答
你可以做这样的事情:
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
哇:d我还以为我梦见过深。好一个。 – xinaiz