作者: 
enter036 (enter036)   
2015-10-30 10:29:08大家好,大欸賀,胎嘎賀,
這邊想請教一個關於類別與繼承上記憶體配置的問題問題。
我現在手邊的書是INTRODUCTION TO JAVA(Y. DANIEL),
在讀到繼承章節時,有提到data/methods 會因為能見度而決定存取權限,
而在繼承時,記憶體的配置讓我很想不透,範例如下(均在same pkt):
public class C1(){
  public int x;
  protected int y;
  private int u;
  protected void m(){}
}
public class C3 extends C1{
  can access x;
  can access y;
  can access z;
  cannot access u;
  can invoke m();
}
請問C1跟C3的所有資料是否是使用同一塊記憶體呢?
就我的理解是,C1跟C3若是規劃不同的記憶體,
那這樣好像就不用有存取上的問題,因為是獨立的配置@@
但若是配置同個記憶體,那當有其他類別繼承C1時,
data field不會亂掉嗎? 被複寫掉之類的。
另外同範例內還有一個非繼承的類別C2,裡面直接new個obj o,
public class C2{
  C1 o = new C1();
  can access o.x;
  can access o.y;
  can access o.z;
  can not access o.u;
  can invoke o.m();
}
在obj生成的話,也是在獨立劃分一個區塊給o的所有資料使用嗎?
觀念有點混亂也很糟,還有勞前輩指教了<0>