public class Test1 {
static class Parent {
public static int a = 1;

static {
a = 2;
}
}

static class Child extends Parent {
public static int b = a;
}

public static void main(String[] args) {
System.out.println(Child.b);
}
}

请问结果是多少。

稍加思索之后。。我感觉是1.。但是实际的编译器结果是2

Java 基础面试题 第二题_编译器

这说明我对静态方法的与静态代码块的执行顺序没有掌握好。。。嘿嘿 记录下来 。以防下次再错。