首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >什么是类的“直接超级接口”?

什么是类的“直接超级接口”?
EN

Stack Overflow用户
提问于 2014-12-06 13:34:50
回答 1查看 414关注 0票数 0

在JLS和JVM规范中都有引用类的直接超级接口的语言。类的直接超级接口的概念令人困惑,因为类不能扩展接口。

例如,来自JLS第9节:

一个类必须实现它的直接超类和直接超级接口所做的所有接口。

来自JVM规范第5.4.3.2节:

否则,字段查找将递归应用于指定类或接口C的直接超级接口。

尽管在JLS第9.1.3节中给出了直接超级接口的定义

如果提供了extends子句,则所声明的接口将扩展每个其他命名接口,从而继承其他每个命名接口的成员类型、方法和常量。这些其他命名接口是正在声明的接口的直接超级接口

并严正声明为

给定I (n 0)的(可能是泛型)接口声明,接口类型I的直接超级接口是在I声明的extends子句中给出的类型(如果存在≥子句)。

在这两个定义中,直接超级接口的概念都应用于接口类型,而不是类类型。

那么,类的直接超级接口意味着什么呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-06 13:38:18

直接超级接口是类直接实现的所有接口.

例如,如果

class X implements Y,Z

Y&Z是X类的直接超级接口。

除了实现它的直接超级接口之外,一个类还间接地实现其直接超类实现的所有接口以及它的直接超级接口扩展的所有接口。

JLS 8.1.5

类声明中的可选实现子句列出了被声明类的直接超级接口的接口名称。

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

https://stackoverflow.com/questions/27332255

复制
相关文章

相似问题

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