在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/