public class Test{
static int test = 6;
static{
test += 9;
}
public static void main(String[] args){
System.out.println(“test =” + test);
}
static{
test /=3;
};
}
上面代码执行后的输出结果为test=5,这就涉及到Java中变量初始化顺序的问题了。
以这段代码为例,当Test类首次被装载时,首先初始化静态模块,需要注意的是静态初始化块,静态变量这两个是属于同一级别的,因此按代码的顺序依次初始化,不难得出最后的输出结果为5.