2013-02-20 71 views
0

我有一个在java中的查询,因为Object类是所有的父类,我想知道是Object类正在由java中的每个类隐式扩展。关于类的扩展

例如:如果我做一个对象类B然后我扩展类A这是因为在java中确定,类最多可以延长只有一个班,但因为我的课B含蓄地扩展了Object类,那么怎么能它扩展类A?请指教。

+2

'B' extends'A' extends'Object' – 2013-02-20 12:47:22

+1

'Object'将始终是您的类层次结构中最低的部分。 – 2013-02-20 12:47:39

+0

请考虑[FAQ](http://stackoverflow.com/faq)如何在此提问。当你用Java扩展一个类时,你也隐含地扩展了Object-class,因为这是你的基类的一部分。如果您不扩展任何类,但创建一个新类,则隐式扩展Object。 – 2013-02-20 12:48:04

回答

0

只有当没有指定父项时,它才会隐含地继承Object,否则它只会从指定的父项继承。

旁注:

这是允许的:

C 
    | 
    A 
    | 
    B 

在上述情况下,与Object取代C是符合你的要求。

这是不允许的:

C A 
\/
    B 

继承可以像你希望它是那样深,但一个对象不能有多个父。

0

把它看作家庭树,其中个人只有一个家长。每个人只有一个父母,但是,父母的所有祖先也是个人的祖先。这就是说,当所有的类都扩展为Object时:这是所有类别中最远的祖先,尽管只有那些声明为extends Object或没有extends声明的类的直接祖先(父)。

0

我想你知道这个概念,但你一定有点困惑。想想一棵树。对象类是该树的根。它有叶子和其他节点之间。无论你的班级设计如何,它最终都会成为Object,因为它的根源就在于此。所以你可以扩展任何类(而不是抽象或接口),而不用考虑Object类。因为Object延期将自动为您完成。

-1

在这里,我会建议,关键字是EXPLICIT。你可以显而易见只延伸一个类。但是,如果你不这样做,Java将隐式地用Object类扩展你的类。如果你已经完成了这个对象,它必须位于继承类的层次结构中。

+1

你有点重复在其他** 4 **答案中说过的话。 – Dukeling 2013-02-20 13:27:43