java.util.ArrayList.SubList是java.util.ArrayList的非靜態內部類類,這意味着它保存對其封閉類的引用。我們可以通過使用ArrayList.this訪問java.util.ArrayList的成員。但是java.util.ArrayList.SubList也有一個成員「parent」,它也是對java.util.ArrayList.SubList封裝類的引用。爲什麼需要「父」成員變量或爲什麼不聲明java.util.ArrayList.SubList作爲靜態內部類?爲什麼ArrayList的非靜態內部類SubList有一個成員變量「parent」?
我的JDK是最新的,和我有搜索java.util.ArrayList中的最新的源代碼谷歌。我得到以下鏈接: http://www.docjar.com/html/api/java/util/ArrayList.java.html。該頁面上的代碼與我的電腦上的代碼相同。
也許它沒有開始生活作爲一個內部類,但私人/保護類,後來搬到......你應該去問設計師 – MadProgrammer
謝謝。在問這個問題之前,我真的應該多想一想。當我們獲得「子列表」的「子列表」時,我認爲需要「父」。 –
這個問題不應該關閉;它是具體和有效的,當然不是基於意見的。 –