1

可能重复:
Java 中的静态初始化程序

我有几年的 Java 经验,但我最近遇到了一些我以前从未见过的东西:

public class Project{
...
static{
  initDataTypeMapping();
}
...
}

这个方法签名是如何工作的?这实际上甚至在技术上是一种方法吗?我想知道为什么不简单地将方法调用initDataTypeMapping()放在构造函数中。只是想增加我的理解,所以我不会把事情搞砸。谢谢!

4

1 回答 1

6

这称为静态初始化程序

块中的代码在static { }类加载器首次加载类时运行(通常但不总是,当引用该类的代码首次加载/执行时),并保证在线程安全中运行方式。

另请参阅此问题

于 2012-07-05T18:02:14.937 回答