gpt4 book ai didi

java - 是否可以检测Fluent接口(interface)是否是第一次调用?

转载 作者:行者123 更新时间:2023-12-01 17:55:23 25 4
gpt4 key购买 nike

假设我有一个类:

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

关于java - 是否可以检测Fluent接口(interface)是否是第一次调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45393540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com