在java中,将自定义列表对象添加到与字段相同的类中的可能现实原因?
我希望这个问题不是太含糊或太宽泛而无法回答。 我可以在任何需要的地方创建列表;如果我需要它作为一个静态字段,我可以在其他类中也这样做。 为什么要在同一个类中添加自定义列表作为字段? 在OOP中,这种方法的优点和缺点是什么? 你能解释一下这些方法的不同结果吗 编辑:我通常按照建议使用自定义列表来存储一个类的多个实例。我检查了其他人的代码,我看到了这些方法,其中类与其他类没有父子关系,但它被定义为同一类中的列表对象,作为用于存储类本身的多个实例的字段。它让我想起了无限镜像效应。所以,我想知道我错过了什么在java中,将自定义列表对象添加到与字段相同的类中的可能现实原因?,java,list,oop,arraylist,field,Java,List,Oop,Arraylist,Field,我希望这个问题不是太含糊或太宽泛而无法回答。 我可以在任何需要的地方创建列表;如果我需要它作为一个静态字段,我可以在其他类中也这样做。 为什么要在同一个类中添加自定义列表作为字段? 在OOP中,这种方法的优点和缺点是什么? 你能解释一下这些方法的不同结果吗 编辑:我通常按照建议使用自定义列表来存储一个类的多个实例。我检查了其他人的代码,我看到了这些方法,其中类与其他类没有父子关系,但它被定义为同一类中的列表对象,作为用于存储类本身的多个实例的字段。它让我想起了无限镜像效应。所以,我想知道我错过了
class Record {
String name;
String surname;
String phoneNumber;
ArrayList<Record> phoneBook;
}
class Main {
String x;
String y;
ArrayList<Record> phoneBook;
}
课堂记录{
字符串名;
串姓;
字符串电话号码;
ArrayList电话簿;
}
班长{
字符串x;
弦y;
ArrayList电话簿;
}
根据您所说的,假设您有10个Record类实例,并且假设在每个类中存储了所有这10个实例的列表,那么您实际上会有100个实例,并且根据您所做的操作,应用程序的性能可能会受到影响
另一方面,假设您拥有Record类的10个实例,但您只将实例本身存储在列表中,这没有意义,它将毫无用处
最后,合乎逻辑的是,当创建一个列表时,它将存储类的多个实例,然后您可以访问每个实例的数据,因此在这种情况下,在类中使用列表本身是没有用的。一个名为
Record
的类包含一个phoneBook
听起来不正确,因此,设计是关闭的。这种递归结构在某些情况下是可能的和有用的,但在这里不是。这种方法本身是可行的,可以用来表示任何树状/层次结构的数据结构(Node
引用了Node
的列表,系谱树-Person
有父母、兄弟姐妹和子女的列表,Employee
有老板和下属的列表等)