在Java中,何时应使用静态非最终变量?

例如

private static int MY_VAR = 0;

显然,这里我们不是在谈论常量。
public static final int MY_CONSTANT = 1;

根据我的经验,我经常在使用单例时为它们辩护,但是后来我最终需要拥有多个实例,这使我感到非常头痛和重构。

似乎很少在实践中使用它们。你怎么看?

最佳答案

统计信息收集可以使用非最终变量,例如计算创建的实例数。另一方面,对于这种情况,您可能仍要使用AtomicLong等,此时它可能是最终的。另外,如果您要收集多个统计信息,则可能会得到Statistics类以及对该实例的最终引用。

具有(合理地)非最终静态变量当然非常罕见。

关于java - 最佳实践:Java静态非最终变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/731236/

10-14 11:41