【发布时间】:2013-07-27 11:29:31
【问题描述】:
我对 OOP 很陌生。我们都知道Java不支持多重继承;但是,所有 Java 类都继承自 Object,也可以继承自另一个类。我们可以将其视为多重继承吗? Java是如何处理这样的事情的?
【问题讨论】:
标签: java oop compiler-construction jvm
我对 OOP 很陌生。我们都知道Java不支持多重继承;但是,所有 Java 类都继承自 Object,也可以继承自另一个类。我们可以将其视为多重继承吗? Java是如何处理这样的事情的?
【问题讨论】:
标签: java oop compiler-construction jvm
这不是多重继承,而是多级继承。类可以扩展另一个类,该类可以扩展另一个类,...,最终扩展 Object:
A --> B --> C --> Object
多重继承是
A ----> B
\
\--> C
这意味着当在 A 中使用方法或字段时,会先在 A 中查找,然后在 B 中查找,然后在 C 中查找,然后在 Object 中查找。
对于多重继承,它必须在 A 中查找,然后在 B 和 C 中查找,并且可能存在冲突,因为相同的方法或字段可能存在于两个超类中。
【讨论】:
这不是多重继承....这是java中的多级inheritance
除了没有超类的 Object 之外,每个类都有一个且只有一个直接超类(单一继承)。在没有任何其他显式超类的情况下,每个类都隐含地是 Object 的子类。
【讨论】:
您的类扩展了其他类,但它也扩展了 Object,因此您仍然处于单行继承,而不是多继承。
它调用为多级继承。而不是多级继承。
【讨论】:
它仍然是多级继承。如果你想在 java 中使用多重继承 - 使用 intetrace 来达到这些目的。
因为:
Java support only multiple interface inheritance, and java does not support multiple inheritance
【讨论】:
你解释的是多级继承,在java中是允许的。
但是多重继承在java中是不允许的。
【讨论】: