今日在测试代码的时候,第一次接触了不同类的static块执行顺序(仍需努力哈),简单做个记录,希望能帮到各位。
public class TestStatic {
public static int i = 0;
static {
i = TestStartTime.ii;
}
public static void main (String args[]) {
System.out.println(i);
}
}
public static int ii = 10;
static {
ii = 11;
}
运行TestStatic.java,执行顺序是先进入i = TestStartTime.ii,然后ii=11,然后进入主函数。最后程序输出11.
P.S:static块的初始化顺序本就是在主函数之前的。