我刚刚了解到,如果有两个变量,一个在超类中,一个在子类中,它们共享相同的名称,分配给子类中变量的值将隐藏超类中变量的值。我已经编写了一个程序来检查它,但输出清楚地表明任何隐藏过程都没有发生或者真的发生了?如果子类隐藏超类中的变量,“Aa”和“Ba”的值应该是 25 对吗?请帮帮我。
注意:我是这个 java 编程的新手。请详细解释您的答案。谢谢你
这是代码
public class Super {
int a;
Super(int x) {
a = x;
}
}
class something extends Super {
int a;
something(int x, int y) {
super(x);
a = y;
}
}
class mainclass {
public static void main(String args[]) {
Super A = new Super(10);
something B = new something(10, 25);
System.out.println("The value of a in super class is" + A.a);
System.out.println("The value of a in sub class is" + B.a);
}
}
输出在这里:
The value of a in super class is10
The value of a in sub class is25