2010-01-30 38 views
2
  1. Java中的类不能扩展多个类。Java继承有疑问

  2. Java中的每个类都继承java.lang.Object。

  3. 从1和2开始:Java中的任何类都不能扩展除java.lang.Object以外的任何其他类。

这个扣除有什么问题?

+1

你应该看看数字2,Java中的每一个类都是java.lang.Object的一个*子类* –

+0

而且这些评论让我感到难以置信:) – aperkins

回答

4

为了扩大在什么Tangens说:

对于2号,它应改为阅读:

每类不明确 声明它延伸的类扩展 对象

即如果你使用extends关键字,你现在说你明确地扩展了Object以外的东西。但是,在某些时候,如果您遵循扩展层次结构,则该扩展路径将返回到Object。

这个的另一部分是继承是一个真正的链 - 你拥有你父母和他们的父母以及他们父母的父母的所有属性等等。由于这个等级的顶部始终是Object,所以你必须级别或其他,扩展对象。

+0

感谢您的明确解释:) – gameover

7

一次只能扩展一个类。但A可延伸B可延伸C等。

+0

击败了我。你也可以使用Interfaces实现多重继承的许多目标。 –

+0

可以说我只有一个班。它已经扩展了Object。那么我不应该被允许扩展任何其他课程。 – gameover

+0

如果它通过'class A extends Object'显式扩展到Object,那么它不能扩展到任何其他的,但在Java中,一切都是'Object'的子类 –

2

正确的语句:

  1. Java中的类不能直接延伸至比一个类的更多。

  2. Java中的每个类都直接或间接地继承java.lang.Object。

1

继承是一棵树。一个类只能直接扩展一个类,但是该类可以扩展另一个扩展另一个类,等等。因此,您可以说A扩展了对象,B扩展了A,C扩展了B等。C间接从Object继承。