【问题标题】:Multiple Inheritance and class Object多重继承和类对象
【发布时间】:2013-07-27 11:29:31
【问题描述】:

我对 OOP 很陌生。我们都知道Java不支持多重继承;但是,所有 Java 类都继承自 Object,也可以继承自另一个类。我们可以将其视为多重继承吗? Java是如何处理这样的事情的?

【问题讨论】:

标签: java oop compiler-construction jvm


【解决方案1】:

这不是多重继承,而是多级继承。类可以扩展另一个类,该类可以扩展另一个类,...,最终扩展 Object:

A --> B --> C --> Object

多重继承是

A ----> B 
  \
   \--> C

这意味着当在 A 中使用方法或字段时,会先在 A 中查找,然后在 B 中查找,然后在 C 中查找,然后在 Object 中查找。

对于多重继承,它必须在 A 中查找,然后在 B 和 C 中查找,并且可能存在冲突,因为相同的方法或字段可能存在于两个超类中。

【讨论】:

  • 如果我们有一个不从任何类继承的类,这个类默认继承自类 object。但是如果我们有从类 B 继承的类 A,类 A 继承自 B 和 Object 因为 B从它继承。你的意思是什么??
  • 没有。 A类继承自B,B继承自Object。一个类总是只有一个直接超类(Object 除外,它没有)。
【解决方案2】:

这不是多重继承....这是java中的多级inheritance

除了没有超类的 Object 之外,每个类都有一个且只有一个直接超类(单一继承)。在没有任何其他显式超类的情况下,每个类都隐含地是 Object 的子类。

【讨论】:

    【解决方案3】:

    您的类扩展了其他类,但它也扩展了 Object,因此您仍然处于单行继承,而不是多继承。

    它调用为多级继承。而不是多级继承。

    【讨论】:

      【解决方案4】:

      它仍然是多级继承。如果你想在 java 中使用多重继承 - 使用 intetrace 来达到这些目的。

      因为:

      Java support only multiple interface inheritance, and java does not support multiple inheritance
      

      【讨论】:

        【解决方案5】:

        你解释的是多级继承,在java中是允许的。

        但是多重继承在java中是不允许的。

        【讨论】:

          猜你喜欢
          • 2016-11-05
          • 1970-01-01
          • 2020-04-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-12-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多