为什么被重写的方法不能为private?

halfsuccess 2012-09-21 12:30:27
java中为什么被重写的方法不能为private?
...全文
749 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
江湖啊江湖 2012-09-21
  • 打赏
  • 举报
回复
private是私有方法就是不能被重写。。。。。。
hzc543806053 2012-09-21
  • 打赏
  • 举报
回复
因为是私有的,也就是说属于个人的,
安特矮油 2012-09-21
  • 打赏
  • 举报
回复 1
重写很明显的就是父类中存在有的,那么多态: Object obj = new String();这个是没问题的,那么如果String重写Object方法的时候变成private的啦,那么obj调用这个方法的时候那不是会报错了呀。
蓝蜘蛛 2012-09-21
  • 打赏
  • 举报
回复
你找你爸要生活费

父亲持有生活费这个变量
关系是私有
子类不能重写,因为父亲不愿意
你要是直接调用父亲的钱还了得
所以父亲提供一个公开的方法,比如get,set
让你去操作
你想操作父亲的钱,必须用父亲提供的方法
thomasLand 2012-09-21
  • 打赏
  • 举报
回复
从继承关系上讲子类对父类具有可访问的属性。而不是has a 的关系。如果非要从内存的角度去考察这件事情的话,粗略的讲,就是子类与父类之间通过extends关键字被JVM产生联系。但是彼此内存之间并不直接相关。因此,非私有的重写之所以能实现,就是子类中的方法能把父类中的方法“挡住”。私有方法不可重写,原因可能在于private属性的限制。
域的隐藏规则“父类的方法访问父类的属性”也不与上述冲突。
thomasLand 2012-09-21
  • 打赏
  • 举报
回复
从继承关系上讲子类对父类具有可访问的属性。而不是has a 的关系。如果非要从内存的角度去考察这件事情的话,粗略的讲,就是子类与父类之间通过extends关键字被JVM产生联系。但是彼此内存之间并不直接相关。因此,非私有的重写之所以能实现,就是子类中的方法能把父类中的方法“挡住”。私有方法不可重写,原因可能在于private属性的限制。
域的隐藏规则“父类的方法访问父类的属性”也不与上述冲突。
raistlic 2012-09-21
  • 打赏
  • 举报
回复

private = final
wonkju 2012-09-21
  • 打赏
  • 举报
回复
java中,LZ有听过这样的语句么?
private 是私有的,在类中私有的,仅仅在本类中可见。
几种修饰符LZ搞定就懂了。

62,636

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧