请告诉我们得到输出的原因。
根据我的说法,使用 b.getx() 我们将获得 B 对象的引用 ID,并且b.getx().x
应该获得 10 的值,但是当我运行这个程序时,输出是 5。
class Base {
int x = 5;
public Base getx() {
return new Base();
}
}
class Child extends Base {
int x = 10;
public Child getx() {
return new Child();
}
public static void main(String ...s) {
Base b = new Child();
System.out.println(b.getx().x);
}
}