最佳答案
我是一名Java程序员,刚进入企业界。最近我使用Groovy和Java开发了一个应用程序。我写的代码中使用了相当多的静态变量。高级技术人员要求我减少使用静态变量的数量。我在谷歌上搜索了同样的情况,我发现许多程序员相当反对使用静态变量。
我发现静态变量使用起来更方便,而且我认为它们也很有效(如果我错了请纠正我),因为如果我必须在一个类中对一个函数进行10,000次调用,我很乐意将该方法设为静态,并在其上使用简单的Class.methodCall()
,而不是用该类的10,000个实例弄乱内存,对吧?
此外,静态减少了代码其他部分的相互依赖。它们可以充当完美的状态持有者。除此之外,我发现静态在Smalltalk和scala等一些语言中被广泛实现。那么为什么这种对静态的反对在程序员中普遍存在(尤其是在Java的世界里)呢?
PS:如果我对静力学的假设是错误的,请纠正我。