我在java中有一个查询,因为Object
类是所有类的父类,我想知道Object
类是由java中的每个类隐式扩展的。
例如:如果我创建了一个对象类B
,那么我扩展了类A
,这是正常的,因为在java中,类最多只能扩展一个类,但是因为我的类{{1已隐式扩展B
类,那么它如何扩展类Object
?请指教。
答案 0 :(得分:0)
仅当未指定父级时,它才会隐式继承Object
,否则它只会继承指定的父级。
旁注:
这是允许的:
C
|
A
|
B
在上述情况下,将C
替换为Object
以符合您的要求。
这是不允许的:
C A
\ /
B
继承可以像你想要的那样深,但是一个对象不能有多个父对象。
答案 1 :(得分:0)
将其视为家庭树,其中个人只有一个父母。每个人只有一个父母,但所有父母的祖先也是个人的祖先。这就是所谓的所有类扩展Object
时的意思:它是所有类中最远的祖先,尽管只有那些用extends Object
或没有{声明的类的直接祖先(父)。 {1}}声明。
答案 2 :(得分:0)
我认为你知道这个概念,但你必须有点困惑。想到一棵树。对象类是该树的根。它之间有叶子和其他节点。无论你的类层次结构是如何设计的,它最终都会成为Object
,因为它的根就是那个。所以你可以扩展任何类(不是抽象或接口),而不考虑Object
类。因为Object
扩展将自动为您完成。
答案 3 :(得分:-1)
在这里,我建议,关键字是 EXPLICIT 。您可以明确只扩展一个类。但是如果你不这样做,Java将使用Object类隐式扩展你的类。如果你已经完成,那么Object必须位于继承类的层次结构中。