【发布时间】:2016-02-25 22:24:07
【问题描述】:
我正在阅读我的一位朋友编写的代码,用于使用 arraylist 存储用户帐户。所以他声明了 private static ArrayList = new ArrayList();我理解这部分,但我不确定他为什么将其声明为静态。这让我想到了这个问题:什么时候声明一个静态数据结构是个好主意?
【问题讨论】:
我正在阅读我的一位朋友编写的代码,用于使用 arraylist 存储用户帐户。所以他声明了 private static ArrayList = new ArrayList();我理解这部分,但我不确定他为什么将其声明为静态。这让我想到了这个问题:什么时候声明一个静态数据结构是个好主意?
【问题讨论】:
这是一个需要非常微妙的答案的问题,但是:
何时将数据结构声明为静态是个好主意?
静态成员是许多罪恶的根源。它们使类的可重用性降低。它们使课程更难/无法测试。默认情况下,它们使类成为非线程安全的,这可以补救,但很难正确处理,并且可能导致性能问题。他们把管理资源的责任放在了错误的地方。
这是一个非常大的OOD主题,已经被广泛讨论,所以我只指出一个值得查找的常用首字母缩写词:SOLID原则。
【讨论】: