java中为什么被重写的方法不能为private?
------解决方案--------------------------------------------------------
因为是私有的,也就是说属于个人的,
------解决方案--------------------------------------------------------
java中,LZ有听过这样的语句么?
private 是私有的,在类中私有的,仅仅在本类中可见。
几种修饰符LZ搞定就懂了。
------解决方案--------------------------------------------------------
从继承关系上讲子类对父类具有可访问的属性。而不是has a 的关系。如果非要从内存的角度去考察这件事情的话,粗略的讲,就是子类与父类之间通过extends关键字被JVM产生联系。但是彼此内存之间并不直接相关。因此,非私有的重写之所以能实现,就是子类中的方法能把父类中的方法“挡住”。私有方法不可重写,原因可能在于private属性的限制。
域的隐藏规则“父类的方法访问父类的属性”也不与上述冲突。
------解决方案--------------------------------------------------------
你找你爸要生活费
父亲持有生活费这个变量
关系是私有
子类不能重写,因为父亲不愿意
你要是直接调用父亲的钱还了得
所以父亲提供一个公开的方法,比如get,set
让你去操作
你想操作父亲的钱,必须用父亲提供的方法