2015-10-20 51 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

在自己的类创建一个类的实例的一个不好的做法是必要创建树和链表。但是,除了特殊情况外,应该避免这种情况,因为它会使代码不易读。