2011-12-12 88 views
4

当我读java书时,我遇到了“每个类扩展类对象”...但是如果想让B类扩展A类.....但是B类将会现在有多个继承,一个来自Object类,一个来自Class A.如何解决冲突。 任何人都可以解释吗?继承Java中的对象类

+0

这就是多级继承......多是A在同一级别同时导出B,C的时候。 – st0le

回答

1

首先,Object class是每个类的超/基/父类包括用户定义的类。

因此,即使我们没有明确提及它,用户定义的类默认扩展了Object类。

Morevoer,Object类实现了一组方法和变量,这些方法和变量对于在应用程序中创建的所有对象都是通用的。这是我们将Object类作为所有其他类的基类的主要原因。

对于例如:

hashCode() - 此方法创建针对每个所述对象在JVM中创建一个唯一的标识。

5

其多层次的继承,而不是多个:

A扩展Object

B扩展A

1

没有冲突..看看这个结构

  • 动物
      • 麻雀
      • 鹦鹉
      • 狮子狗

鹦鹉类GE提供超级鸟类和超级动物的所有属性/方法。这称为多重继承。

你从你父母身上得到的特质对吗?你也可以从父母那里获得特质。

1

ClassB从ClassA扩展而来,ClassA也从Object扩展而来。因此ClassB的延伸间接对象,通过CLASSA

“每类扩展类对象”只是意味着,如果你不指定父类,它需要对对象的父类

1

该书试图解释每个班级是Object的直接或间接子类别。除此之外,这意味着每个类都继承了公共方法ObjecttoString(),hashcode()wait()等。这也意味着无论类变量a碰巧是什么,您总是可以将a分配给类Object的变量。

在Java中没有多重继承的东西。最接近的Java就是接口,它本身就是一个完整的主题。