Java子类Override的方法的访问权限为什么不能比父类窄?从实用角度讲,这是什么道理? 10

 我来答
GTA小鸡
高粉答主

2018-05-07 · 醉心答题,欢迎关注
知道大有可为答主
回答量:2.6万
采纳率:78%
帮助的人:1.4亿
展开全部
根据继承和多态规则,如果一个父类A具有public方法fun,那么它的任意子类对象上都应该可以调用方法fun。而如果子类重写方法的访问权限可以低于父类方法,那么可以将子类中的fun方法改写为private,就会出现子类对象无法调用fun方法的现象,这就违背了继承和多态基本原则。例如动物可以呼吸,那么任何属于动物的具体物种例如人都可以调用呼吸方法。如果将人类的呼吸方法改为private,那么人虽然身为动物却无法呼吸,这就违背了继承原则。
sky45look
2018-05-07 · 超过88用户采纳过TA的回答
知道小有建树答主
回答量:197
采纳率:80%
帮助的人:46.3万
展开全部
你想想,父类用public 子类用 private
那外面 还能用父类去调用子类的方法么?
显然不能。一般调用都是 直接new个父类去调用的。如果子类重写了,就调用重写的。没有就用父类的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
a821305833
2021-07-19 · TA获得超过109个赞
知道小有建树答主
回答量:255
采纳率:0%
帮助的人:87.5万
展开全部
The subclass overridden method can not have a weaker access specifier.
For example, if the superclass method is protected, the subclass overridden method can have protected or public (but NOT default or private) .
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式