gpt4 book ai didi

java - 静态初始化是好的编程习惯吗?

转载 作者:搜寻专家 更新时间:2023-10-30 21:06:29 25 4
gpt4 key购买 nike

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

private static final ApiKey API_KEY;

static {
API_KEY = new ApiKey();
}

我想知道

  • 这是一个好的编程习惯吗?
  • 我们应该在哪里使用这种模式?

提前致谢。

最佳答案

在某种程度上,这是一个品味问题。对我来说没问题,只要:

  • 你保持字段的最终状态,就像你所做的那样
  • 确保引用的对象是不可变的和线程安全的

静态往往会使编写好的测试变得更加困难。如果您发现自己想要开始修改静态状态,那么您可能需要再次查看设计。

考虑查看 Google Guice非常好Singleton implementation .

当然,如果您的应用程序是一个 10 行单类实验,那么这就没那么重要了。

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

private static final ApiKey API_KEY = new ApiKey();

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

关于java - 静态初始化是好的编程习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9348126/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com