class A
{
String s = "A";
}
class B extends A
{
String s = "B";
}
public class C
{
public static void main(String[] args){ new C().go();}
void go()
{
A a = new B();
System.out.println(a.s);
}
}
질문 : JVM 뒤에 역학이 코드는 무엇을
를 실행하는? 어떻게 a.s가 "A"로 인쇄됩니까? 지역 변수는 A 형의 즉
때문에 컴파일시에 컴파일러는 A의 필드를 참조하고 있으므로
다른 응답 이외에도 B의 멤버에게 B를 전달하지 않고 a를 사용하는 액세스가 없다는 점에 유의하십시오. ((B) a) .s –