繁体   English   中英

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

[英]Possible real life reasons of adding a custom list object in the same class as a field in java?

我希望这个问题不会太模糊或太宽泛而无法回答。 我可以在任何需要的地方创建列表; 如果我需要它作为静态字段,我也可以在其他类中使用它。 为什么要在同一个类中添加自定义列表作为字段? 这种方法在 OOP 中的优缺点是什么? 你能解释这些方法的结果的差异吗?

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

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

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

}

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM