在Java中与字段相同的类中添加自定义列表对象的现实生活中可能的原因?

问题描述

我希望这个问题不要太含糊或难以回答。 我可以在任何需要的地方创建列表。如果我需要它作为一个静态字段,我也可以在其他类中做到这一点。 为什么要在同一类中将自定义列表添加为字段? 这种方法在OOP中的优点和缺点是什么? 您能否解释这些方法的结果的差异?

编辑:我通常按照建议使用自定义列表来存储一个类的多个实例。我检查了其他人的代码,并且看到了这些方法,这些类之间没有父级-子级关系,但是将其定义为与用于存储类本身的多个实例的字段相同的类中的列表对象。它使我想起无限镜面效果。所以,我想知道我在这里想念的东西。

class Record {
        String name;
        String surname;
        String phoneNumber;
        ArrayList<Record> phoneBook; 
    }

class Main {
    String x;
    String y;
    ArrayList<Record> phoneBook; 

}

解决方法

根据您的发言,假设您有10个Record类的实例,并假设在每个类中存储了所有这10个实例的列表,那么实际上您将拥有100个,并且根据您的操作,您的性能应用程序可能会受到影响。

另一方面,假设您有Record类的10个实例,但仅将实例本身存储在列表中,这没有任何意义,根本没有用。

最后,合乎逻辑的事情是,在创建列表时,它将存储该类的多个实例,然后您可以访问每个实例的数据,因此,在类本身中使用列表对此没有用情况。