JAVA中重写父类方法后,这个方法如何调用父类私有属性方法?

举个简单的例子,class A{private int a;public int getA(){return getNewA();} private int getNewA(){return a+5;}}现在我项搞个新的类B,基本沿用A的内容,但那个getA()我想修改一下。比如变成return getNewA()*2。懒惰的我觉得应该用继承+重写的方式,但发现如果仅重写getA()方法,我将无法调用私有的getNewA()。那么我该怎么办?必须连带属性方法完全复制一遍吗?

父类的私有属性和方法是不被子类继承调用的,如果你非要这么做可以
1、在父类中另外定义protected 的方法操作私有方法,子类调用该方法
2、将私有方法改为protected
3、使用反射,获取父类所有方法,根据名称调用
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-17
你自己都说这是私有方法,什么叫私有?除了我自己别人都不能调用。不过你可以吧private改成protected,子类是可以调用父类中protected的属性或方法的本回答被网友采纳
相似回答