假设类A继承类B,类C
类B,类C声明了相同的方法声明 d(),但是方法体不同
但是子类A中没有覆写 d() 方法
那么子类A的对象实例调用 d() 就会出现问题,没办法确定应该调用B还是C的 d() 方法
大概是这么个意思~
这是个问题,确实无法确定调用哪个方法,但是这个和“安全”有关系吗?我看很多人说类之间不能实现多继承就是因为“安全”问题,所以才这样设计的,没有明白到底是啥安全问题??
@liaowenxiong: 无法确定调用哪个方法,程序都不知道怎么跑了,对于JVM而言,可不就是“不安全”了吗?😂
(复制一段别人的解释)“Java中类不能多继承类是为了安全。因为无论是抽象类还是非抽象类都包含非抽象的方法(非抽象类也可能没有),当类可以多继承类时,被继承的不同的父类可能会有同名同参的方法,如果子类也没有重写这个同名同参的方法,则在子类的实例调用这个方法的时候就会出现冲突”
原文链接:https://blog.csdn.net/weixin_44874132/article/details/112764019