5 为什么 Java 不支持多重继承?
约 134 个字
主要是因为多继承会产生菱形继承(也叫钻石继承)问题,Java 之父就是吸取 C++ 他们的教训,因此在不支持多继承。
所谓的菱形继承很好理解,我们来看下这个图:
是不是看起来很像一个菱形,BC 继承了 A,然后 D 继承了 BC, 假设此时要调用 D 内定义在 A 的方法,因为 B 和 C 都有不同的实现,此时就会出现歧义,不知道应该调用哪个了。
约 134 个字
主要是因为多继承会产生菱形继承(也叫钻石继承)问题,Java 之父就是吸取 C++ 他们的教训,因此在不支持多继承。
所谓的菱形继承很好理解,我们来看下这个图:
是不是看起来很像一个菱形,BC 继承了 A,然后 D 继承了 BC, 假设此时要调用 D 内定义在 A 的方法,因为 B 和 C 都有不同的实现,此时就会出现歧义,不知道应该调用哪个了。