最佳实践:Java静态非最终变量

发布于 2021-01-30 17:43:53

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

例如

private static int MY_VAR = 0;

显然,这里我们不是在谈论常量。

public static final int MY_CONSTANT = 1;

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

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

关注者
0
被浏览
68
1 个回答
  • 面试哥
    面试哥 2021-01-30
    为面试而生,有面试问题,就找面试哥。

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

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



推荐阅读
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看