gpt4 book ai didi

java - Java 中所有回调实现的相同代码

转载 作者:行者123 更新时间:2023-11-29 23:49:23 25 4
gpt4 key购买 nike

我有一个回调接口(interface):

public interface OnServerDoneListener {

void onDone(int code, byte[] body);

void onFailure();
}

它在整个应用程序的许多地方用作 HTTP 请求的监听器:

    HttpClient.getInstance().post(request, new OnServerDoneListener() {
@Override
public void onDone(int code, byte[] body) {

}

@Override
public void onFailure() {

}
});

现在我想为 onFailure 回调的所有实现调用相同的代码(例如,使用 super)。并在某些情况下根据需要覆盖它。如何重构?

最佳答案

定义一个实现接口(interface)OnServerDoneListener的抽象类,然后在那里定义方法onFailure

public abstract class OnServerDoneAdapter implements OnServerDoneListener {

public void onFailure(){
//your defination.
}

}

之后,您可以传递该类的对象(或匿名内部类)而不是接口(interface)。

HttpClient.getInstance().post(request, new OnServerDoneAdapter() {        
@Override
public void onDone(int code, byte[] body) {

}
});

关于java - Java 中所有回调实现的相同代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51068608/

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