首页 新闻 会员 周边

Java中如何从安全角度理解类的单继承?

0
悬赏园豆:5 [待解决问题]

听说,Java的类只能单继承,主要是出于安全的考虑,怎么理解?为什么类的多继承就不安全呢?

liaowenxiong的主页 liaowenxiong | 初学一级 | 园豆:33
提问于:2022-06-13 20:14
< >
分享
所有回答(2)
0

假设类A继承类B,类C
类B,类C声明了相同的方法声明 d(),但是方法体不同
但是子类A中没有覆写 d() 方法
那么子类A的对象实例调用 d() 就会出现问题,没办法确定应该调用B还是C的 d() 方法
大概是这么个意思~

飒沓流星 | 园豆:1099 (小虾三级) | 2022-06-13 21:15

这是个问题,确实无法确定调用哪个方法,但是这个和“安全”有关系吗?我看很多人说类之间不能实现多继承就是因为“安全”问题,所以才这样设计的,没有明白到底是啥安全问题??

支持(0) 反对(0) liaowenxiong | 园豆:33 (初学一级) | 2022-06-17 17:34

@liaowenxiong: 无法确定调用哪个方法,程序都不知道怎么跑了,对于JVM而言,可不就是“不安全”了吗?😂

支持(0) 反对(0) 飒沓流星 | 园豆:1099 (小虾三级) | 2022-06-17 19:03
0

(复制一段别人的解释)“Java中类不能多继承类是为了安全。因为无论是抽象类还是非抽象类都包含非抽象的方法(非抽象类也可能没有),当类可以多继承类时,被继承的不同的父类可能会有同名同参的方法,如果子类也没有重写这个同名同参的方法,则在子类的实例调用这个方法的时候就会出现冲突”

原文链接:https://blog.csdn.net/weixin_44874132/article/details/112764019

Cara_Smith | 园豆:205 (菜鸟二级) | 2022-08-20 15:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册