【问题标题】:Multiple inheritance and Java多重继承和Java
【发布时间】:2014-04-27 22:37:28
【问题描述】:

Java 不支持多重继承(到目前为止,但可能会保持这种方式)。

但是,Object 类呢?假设您有一个继承自 Object 类的对象 A。现在,您创建一个继承自 A 类的类 B。但是,每个类都继承Object 类,B 不是通过继承ObjectA 来表现出多重继承吗?

Java 知道它是否总是有继承自 Object 类的对象,因此可以轻松支持它?否则,如果每个人都心甘情愿地从多个类继承,Oracle 将不得不实现更多的支持。

或者,B 不是从ObjectA 继承,而是仅从A 继承,其中包含Object 的继承全部封装在一个中对象?

【问题讨论】:

  • 底部的句子有点回答你的问题。
  • Java 8 通过接口中的default 方法添加了一种多重继承。

标签: java inheritance multiple-inheritance


【解决方案1】:

这个问题是基于一个误解。

但是,Object 类呢?假设您有一个从 Object 类继承的对象 A。现在,您创建一个继承自 A 类的 B 类。但是,每个类都继承了 Object 类,B 不是通过继承 Object 和 A 来表现出多重继承吗?

误解就在这里——“每个类都继承Object类”

事实上,如果一个类没有显式地extend 另一个类,它只会(隐式地)扩展Object

Object 是每个类的终极超类,但不是每个类的直接超类。 Java 类层次结构是一棵树,Object 在顶部。

【讨论】:

  • 谢谢!我们中的一些人正在为期末考试而学习,当我们意识到(现在已经不复存在)每个类都继承了对象类时,我们遇到了障碍。
猜你喜欢
  • 2014-03-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-24
  • 2013-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多