可能重复:
静态初始化块
以下在java中是什么意思?
static {
WritableComparator.define(IntPair.class, new Comparator());
}
这意味着将在类加载时执行的静态初始化块。
如果初始化需要一些逻辑(例如,错误处理或填充复杂数组的 for 循环),简单的赋值是不够的。实例变量可以在构造函数中初始化,其中可以使用错误处理或其他逻辑。为了为类变量提供相同的功能,Java 编程语言包括静态初始化块。
这意味着该块中的代码将在加载类型时运行一次,在调用任何构造函数之前,但在运行任何字段初始化程序之后。
请注意,您不能在静态块中设置任何实例字段。this
就像在任何其他静态方法中一样,那里没有概念。