我有一个在java中的查询,因为Object
类是所有的父类,我想知道是Object
类正在由java中的每个类隐式扩展。关于类的扩展
例如:如果我做一个对象类B
然后我扩展类A
这是因为在java中确定,类最多可以延长只有一个班,但因为我的课B
含蓄地扩展了Object
类,那么怎么能它扩展类A
?请指教。
我有一个在java中的查询,因为Object
类是所有的父类,我想知道是Object
类正在由java中的每个类隐式扩展。关于类的扩展
例如:如果我做一个对象类B
然后我扩展类A
这是因为在java中确定,类最多可以延长只有一个班,但因为我的课B
含蓄地扩展了Object
类,那么怎么能它扩展类A
?请指教。
只有当没有指定父项时,它才会隐含地继承Object
,否则它只会从指定的父项继承。
旁注:
这是允许的:
C
|
A
|
B
在上述情况下,与Object
取代C
是符合你的要求。
这是不允许的:
C A
\/
B
继承可以像你希望它是那样深,但一个对象不能有多个父。
把它看作家庭树,其中个人只有一个家长。每个人只有一个父母,但是,父母的所有祖先也是个人的祖先。这就是说,当所有的类都扩展为Object
时:这是所有类别中最远的祖先,尽管只有那些声明为extends Object
或没有extends
声明的类的直接祖先(父)。
我想你知道这个概念,但你一定有点困惑。想想一棵树。对象类是该树的根。它有叶子和其他节点之间。无论你的班级设计如何,它最终都会成为Object
,因为它的根源就在于此。所以你可以扩展任何类(而不是抽象或接口),而不用考虑Object
类。因为Object
延期将自动为您完成。
在这里,我会建议,关键字是EXPLICIT。你可以显而易见只延伸一个类。但是,如果你不这样做,Java将隐式地用Object类扩展你的类。如果你已经完成了这个对象,它必须位于继承类的层次结构中。
你有点重复在其他** 4 **答案中说过的话。 – Dukeling 2013-02-20 13:27:43
'B' extends'A' extends'Object' – 2013-02-20 12:47:22
'Object'将始终是您的类层次结构中最低的部分。 – 2013-02-20 12:47:39
请考虑[FAQ](http://stackoverflow.com/faq)如何在此提问。当你用Java扩展一个类时,你也隐含地扩展了Object-class,因为这是你的基类的一部分。如果您不扩展任何类,但创建一个新类,则隐式扩展Object。 – 2013-02-20 12:48:04