【发布时间】:2016-11-17 07:51:33
【问题描述】:
我有这个代码:
public interface AsyncResponse {
abstract void processFinish(JSONObject output);
abstract void processFinish(String output);
}
我是这样使用的:
new AsyncResponse(){
@Override
public void processFinish(JSONObject output) {
//code
}
@Override
public void processFinish(String output) {
//code
}
}
当我只重载一个方法(例如只有 JSONObject)时,它会给出错误:
“类'从 AsyncResponse 派生的匿名类'必须声明为抽象或实现抽象方法 'processFinish(String) ' 在“异步响应”中“
如果可能的话,我只需要重载一个方法,而不是两个。
我不知道在 AsyncTask 中是否有类似的东西,只有 doInBackground 需要为 Override-ed,其他方法是可选的。
不确定我是否为我的问题使用了正确的编程术语,但我希望,我需要做的事情是明确的。
【问题讨论】:
标签: java android interface overriding overloading