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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

为什么子类在重写父类方法时,不能使用比父类中被重写的的方法更严格的访问权限?

8 个回复

倒序浏览
解决这类问题的思想和异常体系的继承问题类似,
比如继承中子类继承父类,子类不能抛出父类没有的异常体系;

映射到您的这个问题;
如果有某个方法的形参是Fu类型的,方法内调用了Fu类对象的方法;
那么根据多态性,此方法形参也可以接受Fu类的Zi类型的对象,且方法内调用Zi类对象的方法,
如果子类覆盖后权限变小,那么方法内部调用时会出错,这样就得修改代码了。
这样反而没有发挥多态的特性;
回复 使用道具 举报
有点不懂,之前只记了 真没考虑为什么。
回复 使用道具 举报
2楼   +1  ...
回复 使用道具 举报
解决这类问题的思想和异常体系的继承问题类似,
比如继承中子类继承父类,子类不能抛出父类没有的异常体系;

回复 使用道具 举报
这个问题我选择死亡
回复 使用道具 举报
这个比较有深度
回复 使用道具 举报
66666666666666666666
回复 使用道具 举报
可不可以这样理解呢?  如果子类比父类小了,也就是private 了   那父类引用指向子类对象的调用子类方法还能实现吗》
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马