1.Person pangzi;??? //這是在“開拓空間”于棧空間
pangzi=new Person();??? //這是賦值于堆空間
上兩步就是在做與空間對應的事。
2.值類型直接存入棧空間,如AF,引用類型存入堆空間,在棧空間存有“索引地址”,如當需要B時,在棧空間尋找“索引地址”后對應尋找堆空間的“詳細內容”。
故,值類型“快”,引用類型“靈活”。
例String S = “ABCDEFG........Z",則S對應棧空間,“ABCDEFG........Z"對應堆空間。
例int?A = 10;int?F?= A;int?A =11;此時F仍為10。因為值類型的賦值是COPY,副本之后存入,再去重新賦值A不會影響已生成的副本,則F不變,為10。
另:int A = 1234L;//此處錯誤,不能將“大箱子里的東西(long)”準備“用小箱子裝(int)”,因為有“裝不下”的可能。
在“可容納”情況下有 int A = (int)1234L;是可行的,強制轉換。
例引用類型BC指向堆空間SOS,D指向堆空間SBS,若D取消或變更指向,則SBS沒有對應,即成為垃圾,被檢測后刪除。