如何解释Java中的多重继承

前端之家收集整理的这篇文章主要介绍了如何解释Java中的多重继承前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > Java : If A extends B and B extends Object,is that multiple inheritance10个
其实这个问题是面试官的一个问题

Que:你怎么说java不支持多继承?
如果Object类是java中所有类的父类.@H_403_5@

我没有回答这个问题.@H_403_5@

这意味着没有关于java概念的清楚:-(@H_403_5@

例如:
如果A延伸B@H_403_5@

这里A已经扩展了Object类.对?
现在它的作品如何?@H_403_5@

分享你的答案..@H_403_5@

解决方法

多重继承是关于多重直接继承.

单个类类不能有两个直接父类.可以有一个祖父母班.@H_403_5@

A扩展B和B扩展C,不同于A扩展B和C.@H_403_5@

这是不允许的原因是为了简单,当你有一个这样的情况:@H_403_5@

A extends both B and C

B extends D

C extends D

如果你有这样的情况,然后你有这个代码:@H_403_5@

A a = new A();
a.someAbstractOrVirtualMethodOnD();

…你在谈论一些ABstractOrVirtualMethodOnD()的B实现,还是C方法的实现?哪个应该叫? (提示:没有一个很好的答案)@H_403_5@

所以,Java禁止它.@H_403_5@

注意,如果您实现多个接口,您可以获得类似多继承的东西.但是,由于只有一个具体的实现,对于什么被调用是没有混淆的.@H_403_5@

猜你在找的Java相关文章