gpt4 book ai didi

java - 使用同名的notify-method的嵌套监听器

转载 作者:行者123 更新时间:2023-12-02 06:16:04 25 4
gpt4 key购买 nike

我有三个类,A,B和C。A监听B的变化,B监听C。如果C发生变化,它将在其监听器B上调用notifyChange(),其监听方法如下所示:

clientComp.setChangeListener(new NavigationClientCompositeListener() {

@Override
public void notifyChange() {
notifyChange();
}
});

B 只是想将此通知传递给 A,这就是我的问题。在notifyChange()方法中调用notifyChange()会导致无限循环。有没有办法在这个接口(interface)实现中引用B类的notifyChange()方法?或者这只是糟糕的设计?

我怎样才能最好地解决这个问题?我当然可以更改 B 的方法的名称,但是如果我有很多像这样的嵌套类并且这不是我想要的解决方案,那么这会变得很荒谬。

最佳答案

使用<class-name>.this帮助您引用外部类的当前实例

clientComp.setChangeListener(new NavigationClientCompositeListener() {

@Override
public void notifyChange() {
B.this.notifyChange(); //Calls the notifyChange() of B, which is the outer class
}
});

关于java - 使用同名的notify-method的嵌套监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21454241/

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