为什么我们需要允许接口只从java.lang.Object而不是任何其他类扩展?

Z.I*_*I.J 6 java oop inheritance extends interface

根据我对Java的一些书籍的理解,接口不能扩展类.

但是所有接口都从Object类继承方法.为什么会这样?

如果Interface不从Object类扩展.那么这段代码是如何工作的呢?

interface A
{    
 public boolean equals(Object o);

}

class InterfaceAndObjectClass
{

    public static void main(String[] args)
    {
        A a = null;

        a.equals(null);

        a.hashCode();

        a.toString();
    }
}
Run Code Online (Sandbox Code Playgroud)

请帮我解释如何访问Interface中的Object类方法.

Era*_*ran 6

接口隐式包含Object类的所有方法.并且由于任何实现该接口的类都是子类Object,它包含所有这些方法的实现.

JLS 9.2

如果接口没有直接的超接口,则接口隐式声明一个公共抽象成员方法m,其中包含签名s,返回类型r和throws子句t,对应于具有签名s的每个公共实例方法m,返回类型r和throws子句t在Object中声明,除非接口显式声明具有相同签名,相同返回类型和兼容throws子句的抽象方法.