您好,我有一個Java中繼承的具體問題。 下面是我的代碼內存如何分配以及存儲在哪裏? :Java繼承
class Parent{
int x = 5;
public void method(){
System.out.println("Parent"+ x);
}
}
public class Child extends Parent{
int x = 4;
public void method(){
System.out.println("Child"+ x);
}
public static void main(String[] args){
Parent p = new Child();
System.out.println(((Child) p).x);
System.out.println(p.x);
}
}
現在我的問題是,運行此程序,而實際發生的幕後。
- 什麼被繼承?
- 哪裏在內存位置?
- 爲什麼第一syso給人4和第二給出5?(這個我能 理解在一定程度上,但澄清上述兩個將幫助 更清楚地瞭解它)
請指導
查看http://stackoverflow.com/questions/6606481/virtual-table-dispatch-table – Yaneeve