前几天我正在查看一些代码,结果发现:
static {
...
}
来自 C++,我不知道为什么会出现这种情况。它不是错误,因为代码编译得很好。这个“静态”代码块是什么?
最佳答案
这是一个 static initializer .它在类加载(或初始化,准确地说,但您通常不会注意到差异)时执行。
可以认为是“类构造函数”。
注意还有instance initializers ,它们看起来一样,只是它们没有 static
关键字。当创建对象的新实例时,这些代码会在构造函数中的代码之外运行。
https://stackoverflow.com/questions/2943556/