【发布时间】:2014-12-25 19:36:06
【问题描述】:
代码如下:
class AX {
static int[] x = new int[0];
static {
x[0] = 10;
}
}
我以前从未见过static{} 的用法。这是什么?方法?
【问题讨论】:
-
这是一个静态初始化块。见stackoverflow.com/questions/15246343/…
代码如下:
class AX {
static int[] x = new int[0];
static {
x[0] = 10;
}
}
我以前从未见过static{} 的用法。这是什么?方法?
【问题讨论】:
这是类初始化时运行的代码。
当类被加载和初始化时,所有的静态块和初始化器都会运行。这包括所有这样的行
static int[] x = new int[0];
初始化一个静态字段,以及所有这样的位
static{
x[0] = 10;
}
可以包含或多或少的用于初始化事物的任意代码。
它们按照它们在源代码中出现的顺序运行。
【讨论】: