출력의 이유를 알려주십시오. 우리는 B의 객체의 참조 ID를 얻을 것이다 b.getx().x
10의 값을 받아야하지만이 프로그램을 실행하면 출력이 5핵심 Java 동적 바인딩
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);
}
}
http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.11.1 –