5 为什么 Java 不支持多重继承?

约 134 个字

主要是因为多继承会产生菱形继承(也叫钻石继承)问题,Java 之父就是吸取 C++ 他们的教训,因此在不支持多继承。

所谓的菱形继承很好理解,我们来看下这个图:

Snipaste_2024-05-07_19-32-55.jpg

是不是看起来很像一个菱形,BC 继承了 A,然后 D 继承了 BC, 假设此时要调用 D 内定义在 A 的方法,因为 B 和 C 都有不同的实现,此时就会出现歧义,不知道应该调用哪个了。