首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

子类方法为啥不能低于超类方法的可见性

2012-10-11 
子类方法为什么不能低于超类方法的可见性如题[解决办法]多态原因,比如:Person person new Man()这里man

子类方法为什么不能低于超类方法的可见性
如题

[解决办法]
多态原因,比如:Person person = new Man();
这里man是person的子类,如果person中有个方法say,现在Man却变成了private的了,那如果用person.say()在运行的时候不是会报错呀,说没权访问!!
[解决办法]
面向对象3大特性
封装,继承,多态
这个其实也是特性之一,原因上边已经说得很清楚了

[解决办法]
违反 LSP。

引用
Liskov于1987年提出了一个关于继承的原则“Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.”——“继承必须确保超类所拥有的性质在子类中仍然成立。”也就是说,当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系。
该原则称为Liskov Substitution Principle——里氏替换原则。

热点排行