首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >嵌套Java接口

嵌套Java接口
EN

Stack Overflow用户
提问于 2018-04-07 09:57:28
回答 1查看 51关注 0票数 3

我在https://developer.android.com/training/basics/network-ops/connecting.html中看到了这个接口声明

代码语言:javascript
复制
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,接口主体只能包含

  • 抽象方法
  • 默认方法
  • 静态方法
  • 常量声明

在这种情况下,接口主体包含另一个接口。如何解释这个代码块?有人能告诉我正确的文档吗?这样我就可以更多地了解这种方法了吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-07 10:03:58

请参阅JLS§9.1.4

接口的主体可以声明接口的成员,即字段(§9.3)、方法(§9.4)、类(§9.5)和接口(§9.5)。

使用只是简单的OuterInterface.NestedInterface

在您引用的代码中,嵌套接口只用于包含常量,这样它们就不会“泄漏”到实现DownloadCallback的类。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49706120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档