前几天我查看了一些代码,我遇到了:
static {
...
}
Run Code Online (Sandbox Code Playgroud)
来自C++,我不知道为什么会这样.它不是一个错误,因为代码编译得很好.什么是"静态"代码块?
据我所知,"静态初始化块"用于设置静态字段的值,如果不能在一行中完成的话.
但我不明白为什么我们需要一个特殊的块.例如,我们将一个字段声明为静态(没有值赋值).然后编写几行代码,生成并为上面声明的静态字段赋值.
为什么我们需要在一个特殊的块这样的行这样的:static {...}?
java static initialization static-block initialization-block