我在https://developer.android.com/training/basics/network-ops/connecting.html中看到了这个界面声明:
public interface DownloadCallback<T> {
interface Progress {
int ERROR = -1;
int CONNECT_SUCCESS = 0;
int GET_INPUT_STREAM_SUCCESS = 1;
int PROCESS_INPUT_STREAM_IN_PROGRESS = 2;
int PROCESS_INPUT_STREAM_SUCCESS = 3;
}
void updateFromDownload(T result);
...
}
根据https://docs.oracle.com/javase/tutorial/java/IandI/interfaceDef.html,界面正文只能包含
在这种情况下,接口主体包含另一个接口。你怎么解释这个代码块?有人可以指出我正确的文档,以便我可以了解更多有关这种方法的信息吗?
答案 0 :(得分:2)
请参阅JLS §9.1.4:
接口的主体可以声明接口的成员,即字段(第9.3节),方法(第9.4节),类(第9.5节)和接口(第9.5节)。
用法只是OuterInterface.NestedInterface
。
在您引用的代码中,嵌套接口仅用于包含常量,以便它们不会“泄漏”到实现DownloadCallback
的类。