Object 类如何成为子类的超类?

事实1:

Java 不支持多重继承。

事实2:

对象是所有其他类的超类

如果我有一个类和一个继承该类的类:ParentChildParent

class Parent {

}

class Child extends Parent {

}

在这种情况下,如果 Java 不支持多重继承,该类将如何继承该类?ChildObject

这三者之间的关系是如何定义的?

选项 1:

enter image description here

选项 2:

enter image description here


答案 1

这是选项2。如果定义了一个超类,则该超类将是类的直接超类。如果你不定义一个,将是直接的超类。Object

class Parent {

}

class Child extends Parent {

}

等效于

class Parent extends Object {

}

class Child extends Parent {

}

因此,虽然 是所有类的超类,但在进入 之前,类层次结构中可能有一些步骤。它不是所有类的直接超类。ObjectObject


答案 2

Object可能不是直接父母,但它总是超级父母。

Child extends Parent
Parent extends Object

 |
 V

Child [indirectly] extends Object