給出:繼承和類成員
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怎麼打印回「A」。
除了其他回答之外,請注意,沒有向B的s成員使用而不將其向下轉換爲B的訪問,例如, ((B)a).s – 2010-02-10 16:22:30