Java中对象类的inheritance
当我阅读java书籍时,我遇到了“ 每个类扩展类对象 ”…但是如果想要一个类B来扩展类A ……但是B类现在将具有多个inheritance,一个来自Object类和一个来自A级。如何解决冲突。 谁有人解释一下?
首先, Object class
是每个类的超级/基类/父类,包括用户定义的类。
因此,即使我们没有明确提及它,用户定义的类默认扩展Object类。
Morevoer,Object类实现了一组方法和变量,这些方法和变量对应用程序中创建的所有对象都是通用的。 这就是我们将Object类作为所有其他类的基类的主要原因。
例如:
hashCode()
– 此方法为在JVM中创建的每个对象创建唯一标识。
它的多级inheritance,而不是多个:
A
类扩展了Object
B
级延伸A
ClassB扩展自ClassA,ClassA也从Object扩展。 因此,ClassB通过classA间接扩展Object
“每个类扩展类对象”只是意味着如果不指定父类,它将Object作为父类
本书试图解释每个类都是Object
的直接或间接子类。 除此之外,这意味着每个类都inheritance了Object
的公共方法: toString()
, hashcode()
, wait()
等。这也意味着无论发生什么类变量,都可以随时为变量赋值类Object
。
在Java中没有多重inheritance这样的东西。 最接近的Java是接口,它本身就是一个完整的主题。
没有冲突..看看这个结构
- 动物
- 鸟
- 麻雀
- 鹦鹉
- 狗
- 狮子狗
- 猫
- 鸟
鹦鹉类获得其超级鸟类及其超级动物的所有属性/方法。 这称为多重inheritance。
你从父母那里得到特质吗? 你也从父母那里得到了特质。