什么时候在 Java 中声明任何数据结构是静态的



我正在阅读我的一个朋友写的代码,用于使用 arraylist 存储用户的帐户。所以他声明了私有静态 ArrayList = new ArrayList<>();我理解这部分,但我不确定他为什么宣布它是静态的。这让我想到了这个问题:什么时候声明数据结构是静态的好主意?

这是一个需要非常微妙的答案的问题,但是:

什么时候声明数据结构是静态的好主意?

从不

静态成员是许多邪恶的根源。它们使类的可重用性降低。它们使课程更难/不可能测试。默认情况下,它们使类非线程安全,这是可以补救的,但很难正确处理,并且可能导致性能问题。他们把管理资源的责任放在错误的地方。

这是一个非常大的 OOD 主题,已经进行了很大程度的讨论,所以我只想指出一个值得一看的常用首字母缩略词:SOLID 原则。

最新更新