有關對象地址和對象關係的認識

善於把握細節,或許有新發現

對象的地址和對象的解釋

  • 舉例 : 類 A 對象a
  • 操作: A a=new A();
  • 解釋:
    • a 存儲的是A類型的對象引用。
    • a 存儲在棧中,保存的是對應新創建出對象的地址(堆中的地址)。
    • new A()創建的對象保存在堆中 。
    • 通過a可以操作原對象,操作原對象的成員函數和成員變量,這樣是修改的原數據 。
    • 如果重複上面的步驟:
      a=new A();
      此時新的地址賦予a,a存儲的地址就是新的,之前的對象還在,但是無法獲取到了,在c++ 中就是屬於野指針,因爲使用完成並沒有釋放內存,
      在java中有gc管理內存,所以這個沒有被引用的資源會在內存不足的時候銷燬掉,所以java中可以加強對對象的重用或者不用的時候及時取消引用,
      這樣會盡快的釋放內存,減少內存無謂的佔用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章