<分区>
其实这个问题是面试官问的
问题: 怎么能说java不支持多重继承呢? 如果 Object class 是 java 中所有类的父类。
我无法回答这个问题。
这意味着对 java 概念没有清晰的认识:-(
例如: 如果 A 扩展 B
这里 A 已经扩展了 Object 类。正确的? 现在它是如何工作的?
请分享你的答案..
标签 java
<分区>
其实这个问题是面试官问的
问题: 怎么能说java不支持多重继承呢? 如果 Object class 是 java 中所有类的父类。
我无法回答这个问题。
这意味着对 java 概念没有清晰的认识:-(
例如: 如果 A 扩展 B
这里 A 已经扩展了 Object 类。正确的? 现在它是如何工作的?
请分享你的答案..
最佳答案
多重继承是关于多重直接继承。
单个类类不能有两个直接父类。不过,它可以有一个祖 parent 类。
A extends B
和 B extends C
,不与 A extends both B and C
相同.
不允许这样做的原因是为了简单起见,当您遇到以下情况时:
A extends both B and C
B extends D
C extends D
如果你有这样的情况,然后你有这样的代码:
A a = new A();
a.someAbstractOrVirtualMethodOnD();
...您是在谈论someAbstractOrVirtualMethodOnD()
的B
实现,还是同一方法的C
实现?应该调用哪个? (提示:没有很好的答案)
因此,Java 禁止它。
请注意,如果您实现
多个接口(interface),您可以获得类似于多重继承的东西。但由于只有一个具体实现,因此不会混淆调用什么。
关于java - 如何解释Java中的多重继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18328629/