Java 中的接口(interface)和抽象类是否扩展了 Object 基类?我能想到的逻辑答案是否定的,但是如果接口(interface)不扩展对象类,那么可以请有人解释一下下面的代码:
interface A {
@Override
public int hashCode();
@Override
public String toString();
}
在上面的例子中,A接口(interface)是声明的新接口(interface)。然而,没有一个类正在实现它。那么Object类的方法如何在界面中可见呢?
如果它不扩展 Object 类,那么为什么我不能在接口(interface)中声明以下方法:
public Class getClass();
当我试图在接口(interface)中声明这个方法时,它说它不能重写这个从Object类继承的方法,因为它在Object类中被声明为final方法。
最佳答案
接口(interface)只能扩展一些其他接口(interface),并且不能 - 没有一些根接口(interface)。与 Java 中的任何其他类一样,抽象类以 Object 作为其祖先 - 尽管它可能不是直接父级。
标记为final的方法无法在后续类中重写。由于您的类以 Object 作为其祖先 - 此规则也适用于此处。
关于java - Java 中的接口(interface)和抽象类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23245211/