gpt4 book ai didi

java - 每个类都继承Object类

转载 作者:行者123 更新时间:2023-12-02 05:11:57 27 4
gpt4 key购买 nike

在java中,Object类是所有类的父类(super class)。那么假设,如果我从A继承类B,即A -> B,那么这不是像多重继承吗?

Object->A \
B
Object /

Java 中不支持多重继承,对吧?那么这怎么可能呢?这不会产生钻石依赖性问题吗?

如果问题太天真,我们深表歉意。

最佳答案

In [J]ava, Object class is the super class for all classes.

您对本声明的理解不正确。 Object 是任何类的层次结构的根,但它不是所有类的直接1父类(super class)类。事实上,Object 只是显式派生自 Object 或未显式列出另一个父类(super class)的类的直接父类(super class)。否则,它位于层次结构链的较高位置。因此,每个类(Object 除外)都有一个且仅有一个直接父类(super class),并且该父类(super class)要么是 Object ,要么是某个其他类,但如果您按照自己的方式进行操作类的继承链最终你会遇到Object(这就是我们所说的Object是每个类的父类(super class))。

So suppose, if I inherit class B from A, i.e., A -> B, then is it not like multiple inheritance?

在这种情况下,层次结构是 B 派生自 A 派生自 Object。层次结构 A 派生自 ObjectB 派生自 A对象。但是,ObjectB 层次结构的根,因为它是任何 类的层次结构的根。

And multiple inheritance is not supported in Java, right?

正确。

So how is this possible?

您的问题是基于错误的理解。再次强调,Object不是每个类的直接父类(super class)。多重继承意味着不止一个直接父类(super class),这在 Java 中是严格禁止的,但与 Object 作为父类(super class)(但不一定是直接父类(super class))一致每堂课。

1:有些人还使用术语“立即”来表示任何类的直接父类(super class)。 Java 文档使用“直接”,因此我们将在这里使用该术语。

关于java - 每个类都继承Object类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17505030/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com