2015-10-20 53 views
1

我可以這樣做我可以將對象存儲在同一個類中的數組列表中嗎?

public class Java{ 
    private ArrayList<Java> javas; 

    public void createJava(int size){ 
     for(int i = 0; i < size; i++) 
     java.add(new Java()); 
    }  


} 

或者是即使是好的做法,以做到這一點?

+1

爲什麼你不試試看? :) –

+1

這取決於你如何調用'createJava'。在構造函數中調用它將以'StackOverFlow'結尾。否則就不會有問題 – SomeJavaGuy

+0

這是否是一種好的做法取決於用例。 – Eran

回答

1

如果你有一個原因,那麼它沒有任何問題。那就是實現了多少棵樹 - 一個節點包含一組子節點。

0

是你可以實現這個,但是你寫的每一個類都實現了Java.lang.object。 因此它沒有任何區別。 但是,就用戶定義的對象而言,實例只是爲了訪問其他類的屬性或方法而創建的。 所以儘量避免在自己的類中創建類的實例。 如果試圖這樣做,你將一個實例內創建的實例,這將是編碼

+0

我並不確定我是否明白你的意思,但在實例中有一個實例絕對不是「壞習慣」。正如在另一個答案中指出的那樣,樹和雙向鏈表中的節點必須具有樹節點的左和右節點以及節點中的雙向鏈表*的上一節點和下一節點。 – ChiefTwoPencils

1

在自己的類創建一個類的實例的一個不好的做法是必要創建樹和鏈表。但是,除了特殊情況外,應該避免這種情況,因爲它會使代碼不易讀。