A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 @白纸嘿字@ 于 2015-8-6 12:36 编辑

子类方法重写父类方法,为什么要子类方法权限大于等于父类方法权限呢?如果一个父类方法被public修饰,它子类想要重写,就必须被public修饰,不能被private修饰,也不能被protect修饰,我一直不明白,这个背后的内在原因是什么?
我想就一个问题进行一下讨论,就是访问权限修饰符的针对性问题?用一个具体例子来表达自己想讨论的问题就是,一个被private修饰的方法内部,能不能去调用一个被public修饰的方法,访问权限修饰符是在限制哪一方的行为?为什么?

4 个回复

倒序浏览
用多态就很好理解了!如果父类是public,子类却是private,在多态中,调用的是子类方法,被private修饰了,还怎么调用?如果你不想让别人调用,那为何要重写父类这个public的方法?
回复 使用道具 举报
有时候记住这些规则就好了,深挖的话,其实是在浪费时间了。一开始我也有很多想不通的地方。但是当你学到后头的时候,你就会觉得有些问题就好像在问吃饭的时候为什么非要把饭往嘴里放差不多。抓住时间巩固知识点吧。
回复 使用道具 举报
hellojavacode 发表于 2015-8-5 22:12
有时候记住这些规则就好了,深挖的话,其实是在浪费时间了。一开始我也有很多想不通的地方。但是当你学到后 ...

其实,我是想找到万变不离其宗的那个“宗”!
回复 使用道具 举报
这个没必要纠结
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马