我有以下情况:
public class A {
private int x = 5;
public void print()
{
System.out.println(x);
}
}
public class B extends A {
private int x = 10;
/*public void print()
{
System.out.println(x);
}*/
public static void main(String[] args) {
B b = new B();
b.print();
}
}
执行代码时,输出为:5。
如何通过父类方法访问子类(B)变量(x)?
这是否可以在不覆盖 print() 方法的情况下完成(即在 B 中取消注释)?
[这很重要,因为在重写时我们将不得不再次重写 print() 方法的整个代码]
已编辑
更多说明:-
- 问题的动机是使用来自其父类方法的子类私有变量的值。这不需要更改父类私有变量的值即可达到预期的结果。
- 不过,这里发布的答案让我得到了我想要的答案,我在下面发布了这个答案。
(感谢大家的时间和帮助)