在下面的示例代码中,我有一个interface
内部类,以便我使用接口方法。但是我没有看到有/没有接口方法的效果。有人可以帮助我添加包含它们的目的是什么?
public class Controller {
FlowerCallBackReceiver mListener;
@Override
public void success(String s, Response response) {
try {
mListener.onFetchProgress(flower);
} catch (JSONException e) {
mListener.onFetchFailed();
}
mListener.onFetchComplete();
}
@Override
public void failure(RetrofitError error) {
mListener.onFetchComplete();
}
public interface FlowerCallBackReceiver {
void onFetchProgress(Flower flower);
void onFetchComplete();
void onFetchFailed();
}
}
答案 0 :(得分:2)
这个嵌套接口声明只是一种简单的组织技术。它根本不会改变标准的Java interface
语义。
例如,开发人员使用它来清理顶级包名称空间。人们可能会说,这是一种风格。
一些快速 Java SE 示例:
答案 1 :(得分:0)
根据您显示的代码,没有明显的理由在那里拥有该接口。
如果要在类的其余部分的主体中使用该类的实现,则通常可以在类中嵌套接口,例如,如果Controller
具有如下方法:
void doSomething(FlowerCallBackReceiver callback) {
// ...
}
但是这里没有使用这个界面,因此不清楚为什么它会在这里。