【发布时间】:2015-07-03 14:14:58
【问题描述】:
我在JLS这一段找到了
如果一个接口没有直接的超接口,则该接口 隐式声明一个带有签名的公共抽象成员方法 m s,返回类型 r,以及每个 public 对应的 throws 子句 t 具有签名 s、返回类型 r 和 throws 子句 t 的实例方法 m 在 Object 中声明,除非方法具有相同的签名,相同 返回类型,并且兼容的 throws 子句由 界面。
这是否意味着接口从 Object API 进行某种继承?
UPD
为什么可以通过接口类型调用Object的方法?
interface I {}
I i = ...
i.toString();
我在这里看到了某种绑定。对我来说,看起来我们将Object 的方法绑定到I 类型。
【问题讨论】:
-
哪一部分让你认为接口类型和
Object类型之间有任何继承关系? -
@SotiriosDelimanolis
the interface implicitly declares...我们在继承中做了类似的事情,不是吗? -
以及声明方法如何创建继承关系?
-
这是正确的问题。我不知道。它是如何做这种事情的?
-
问题中的引用回答了 UPD 中的问题。