如果 Java 中的每个类都隐式扩展 Object 类,并且 Java 中不可能进行多重继承,那么我们如何扩展任何类呢?
5 回答
如果你扩展一个类 A,该类又扩展了 Object,所以 B 扩展 A 隐式也扩展了 Object。
“Java没有多重继承”意味着你不能有两个不同的父母,而不是你的父母不能有父母。
C++ 是一种允许您进行多重继承的语言示例:http: //www.learncpp.com/cpp-tutorial/117-multiple-inheritance/
多重继承如下所示:
class Teacher: public Person, public Employee
这意味着“教师扩展了 Person 和 Employee,继承了它的字段和方法”。
您需要创建和实现接口来表示对象支持的所有行为(或合同,如果您愿意),而不是多重继承。Java 将其用于 Closeable 和 Serializable 等接口。
每个不扩展任何其他类的类都扩展了 Object 类。如果您扩展花药类示例 extends Vector 类查看类 Vector 的层次结构,您将以一个简单的类结束,该类不扩展任何显式扩展 Object 的花药类。并且任何类都扩展了另一个类,它显式地扩展了父类扩展的所有类。
多重继承是从两个或多个超类继承的单个类的概念。如果一个类继承自一个超类,并且该超类继承自另一个超类,则它不符合多重继承的条件。它仍然是单继承。
一旦你创建子类的对象,对象层次结构将按顺序创建
objectclaass-->超类-->子类;
确实,Java 中的每个类都继承自 Object 类——无论是间接的还是直接的。
所以在这种情况下,子类间接继承了对象类。
Java中没有多重继承,但有类层次结构。Java 中的继承是传递性的:如果类 A 扩展 Object,类 B 扩展 A,则通过传递性 A 扩展 Object。