java - Java中的静态 block

前几天我正在查看一些代码,结果发现:

static {
    ...
}

来自 C++,我不知道为什么会出现这种情况。它不是错误,因为代码编译得很好。这个“静态”代码块是什么?

最佳答案

这是一个 static initializer .它在类加载(或初始化,准确地说,但您通常不会注意到差异)时执行。

可以认为是“类构造函数”

注意还有instance initializers ,它们看起来一样,只是它们没有 static 关键字。当创建对象的新实例时,这些代码会在构造函数中的代码之外运行

https://stackoverflow.com/questions/2943556/

相关文章:

java - 如果可以使用 synchronized(this),为什么还要使用 Reentrant

java - 在 Java 中检查字符串是否为空或 null

java - 在Android应用程序中存储用户设置的最合适方法是什么

java - Java 中最接近函数指针的替代品是什么?

java - 使用 appcompat v7 更改 EditText 底线颜色

java - 当 Javadoc 标记不完整时,Maven 无法在 Java 8 中运行

java - 如何在 Java 中获取用户输入?

java - 如何在 Java 中进行 URL 解码?

java - 如何使用 LocalDateTime 解析/格式化日期? (Java 8)

java - Java 中如何使用匿名内部类?