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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 毕博 中级黑马   /  2012-4-21 01:42  /  2410 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

父类方法private,子类继承该父类,为什么不能对该方法重写

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

8 个回复

正序浏览
子类不能访问父类的private方法,如果“复写”,只是在子类中定义了一个新的方法
回复 使用道具 举报
王胜利 黑马帝 2012-4-21 11:29:52
7#

子类不能继承父类的private方法,被修饰为private的成员都是私有的,对子类来说是,隐藏的,不能继承!
子类继承父类之后只能重写父类中的protected和public方法,默认没有修饰词的是friendly,同样可以重写,但是private方法就不能重写,即使子类中的方法名和父类的private方法一致,也只能看做是一个新的方法,而不是重写。
回复 使用道具 举报
private修饰的方法访问范围只在当前类中,而override发生在子类和父类之间,在子类中无法访问父类中的private方法,自然也就谈不上重写了
回复 使用道具 举报
private方法是不能被子类继承的,所以就没有重写一说。
只有public和protected方法可以被继承重写
回复 使用道具 举报
子类继承父类之后只能重写父类中的protected和public方法,默认没有修饰词的是friendly,同样可以重写,但是private方法就不能重写,即使子类中的方法名和父类的private方法一致,也只能看做是一个新的方法,而不是重写。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
private是私有的,其他类是不能访问的,子类也不可以访问,所以你可以重新实现父类的该方法,不会有冲突,但是你重新实现的方法,不叫重写也不叫重载,是一个该子类新增的方法,和子类的一般扩展方法一样

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
子类不能继承父类的private方法,被修饰为private的成员都是私有的,对子类来说是,隐藏的,就相当于当爹的不想把这个财产给儿子,想留着自己用,继承不了 就更重写不了

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马