什么是钻石问题?如下图所示,B和C继承于A,D继承B和C(多重继承),在D中调用A的方法时,无法判断是调用B中的实现还是C的实现,下图继承关系是个菱形,所以该问题又叫做菱形问题。
如果java要解决这个问题,需要引入更复杂的机制,这和java 的初衷是背道而驰的(simple),但是java中可以实现多个接口,这与多重继承是非常相似的。
2022-02-12 12:56:58
什么是钻石问题?如下图所示,B和C继承于A,D继承B和C(多重继承),在D中调用A的方法时,无法判断是调用B中的实现还是C的实现,下图继承关系是个菱形,所以该问题又叫做菱形问题。
如果java要解决这个问题,需要引入更复杂的机制,这和java 的初衷是背道而驰的(simple),但是java中可以实现多个接口,这与多重继承是非常相似的。