java – 静态初始化好的编程实践?


Java中,我们使用静态初始化块:

private static final ApiKey API_KEY;

static {
    API_KEY = new ApiKey();
}

我在想,

>这是一个很好的编程实践吗?
>我们应该在哪里使用这种模式?

提前致谢.

解决方法

在某种程度上这是一个味道的问题.对我来说,只要有以下优点:

你按照你所做的那样,保持最后的位置
>您确保引用的对象是ummable和线程安全的

静态学倾向于使写作更好的测试变得更加困难.如果您发现要开始修改静态,那么您可能需要再次查看设计.

考虑看看Google Guice和它非常好的Singleton implementation.

当然,如果你的应用程序是一个10行的单一类实验,那么这很重要.

请注意,在您的示例中,您可以简化为:

private static final ApiKey API_KEY = new ApiKey();

这并不总是可能的.也许你已经省略了一些更复杂的初始化代码?在这种情况下,Guice再次值得一看.

dawei

【声明】:淮南站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。