接口如何扩展java.lang.Object?

时间:2015-07-03 14:14:59

标签: java core

我在JLS这段落中找到了

  

如果接口没有直接的超级接口,那么接口   隐式声明带有签名的公共抽象成员方法m   s,返回类型r,以及对应于每个公共的throws子句t   具有签名s的实例方法m,返回类型r和throws子句t   在Object中声明,除非具有相同签名的方法相同   返回类型,并且显式声明了兼容的throws子句   界面。

这是否意味着接口从Object API进行某种继承?

UPD

为什么我可以通过接口类型调用Object的方法?

interface I {}

I i = ...

i.toString();

我在这里看到某种绑定。对我来说,似乎我们将Object的方法绑定到I类型。

1 个答案:

答案 0 :(得分:2)

它只表示对于任何接口类型的任何变量,您都可以执行所有Object方法。这是有道理的,因为任何接口的任何实现都是Object的子类(直接间接地),因此它具有所有Object方法的实现。

这并不意味着界面继承"来自Object类,因为接口只能扩展其他接口。