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没有对应,即成为垃圾,被检测后删除。