gpt4 book ai didi

Java简单回调

转载 作者:行者123 更新时间:2023-11-29 06:52:39 24 4
gpt4 key购买 nike

这是基本问题。我有 A 类,它给 B 类一些任务。当 B 类完成任务时,它必须通知 A 类。我想将 A 类方法注册为 B 类中的回调。

我真的很想用这种方式,而不是通过接口(interface) Observable 的观察者模式。

public class A
{
public void A()
{
B b = new B()
b.registerCallback(callback);
}

private void callback()
{

}

}

public class B
{
private ???? callbackoNotify;

public class registerCallback(??? callback)
{
callbackoNotify = callback;
}

public void notify()
{
callback();
}
}

最佳答案

您可以为回调定义一个接口(interface)

interface Callback{
void call();
}

然后,让A类实现。

class A implements Callback{
private B b;

public A(){
b = new B();
b.registerCallback(this);
}

// Implementation of the callback interface
public void call(){

}
}

然后,让B类来处理回调。

public class B
{
private Callback callbackoNotify;

public class registerCallback(Callback callback)
{
callbackoNotify = callback;
}

public void notify()
{
callbackNotify.call();
}
}

但在上面的场景中,callbackNotify 可以是null。因此,如果您可以将构造函数中的回调传递给 B 会更好。

希望你明白了。

关于Java简单回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42463830/

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