我不明白为什么输出为以下代码。混乱存在于主要方法中。我不明白为什么"在主要"不是先打印,即使很难打印也是第一行。
class StaticSuper {
static {
System.out.println("super Static block");
}
StaticSuper() {
System.out.println("SUper COntrductor");
}
}
class StaticTest extends StaticSuper {
static int rand;
static {
rand = (int) (Math.random() * 6);
System.out.println("statick block " + rand);
}
StaticTest() {
System.out.println("constructor");
}
public static void main(String[] args) {
System.out.println("in main");
StaticTest ts = new StaticTest();
}
}