我有一些自定義對象刪除對象和所有相關的對象
public static void main()
{
House h = new House();
}
所以,現在我有四個目標:
- House h
- 屋頂r
- 隔壁W
- 地板表面F
屋頂r
,牆w
和地面f
完全取決於衆議院。
所以,如果我將刪除衆議院h
,我希望他們也被刪除。
什麼是正確的做法?
如果我將這個方法添加到House
類:
public void remove()
{
this.r = null;
this.w = null;
this.f = null;
}
當我需要刪除衆議院h
其所有組件寫:
public static void main()
{
h.remove();
h = null;
}
我想這應該工作,但不確定。
另外,也許有更好的方法?
是的,有什麼關於公房,旅館等:)
如果您沒有對House對象或其內容的活動引用,則所有對象都有資格進行GC調用。沒有必要將任何字段設置爲空。 – 2013-03-18 02:54:22
如果沒有其他內容保持對這些內部對象的引用,那麼當'House'不再可達時它們將收集垃圾。所以你應該可以去參考房子,讓垃圾收集器爲你處理其餘的問題 – MadProgrammer 2013-03-18 02:54:24
如果他們**被其他地方的**引用,該怎麼辦?但是我希望它們在刪除「父」對象的情況下被刪除。 – 2013-03-18 02:55:39