黑马程序员技术交流社区

标题: override 重写问题 [打印本页]

作者: 毕博    时间: 2012-4-21 01:42
标题: override 重写问题
父类方法private,子类继承该父类,为什么不能对该方法重写
作者: 魏明明    时间: 2012-4-21 01:45
子类不能继承父类的private方法,被修饰为private的成员都是私有的,对子类来说是,隐藏的,就相当于当爹的不想把这个财产给儿子,想留着自己用,继承不了 就更重写不了

作者: 徐鑫    时间: 2012-4-21 02:12
private是私有的,其他类是不能访问的,子类也不可以访问,所以你可以重新实现父类的该方法,不会有冲突,但是你重新实现的方法,不叫重写也不叫重载,是一个该子类新增的方法,和子类的一般扩展方法一样
作者: 乞文超    时间: 2012-4-21 09:54
子类继承父类之后只能重写父类中的protected和public方法,默认没有修饰词的是friendly,同样可以重写,但是private方法就不能重写,即使子类中的方法名和父类的private方法一致,也只能看做是一个新的方法,而不是重写。
作者: 韩新凯    时间: 2012-4-21 10:48
private方法是不能被子类继承的,所以就没有重写一说。
只有public和protected方法可以被继承重写
作者: 蒋亮    时间: 2012-4-21 10:57
private修饰的方法访问范围只在当前类中,而override发生在子类和父类之间,在子类中无法访问父类中的private方法,自然也就谈不上重写了
作者: 王胜利    时间: 2012-4-21 11:29

子类不能继承父类的private方法,被修饰为private的成员都是私有的,对子类来说是,隐藏的,不能继承!
子类继承父类之后只能重写父类中的protected和public方法,默认没有修饰词的是friendly,同样可以重写,但是private方法就不能重写,即使子类中的方法名和父类的private方法一致,也只能看做是一个新的方法,而不是重写。

作者: 邵中国    时间: 2012-4-21 14:12
子类不能访问父类的private方法,如果“复写”,只是在子类中定义了一个新的方法




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2