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