问题相关代码,请勿粘贴截图
static class Father {
public static int a = 1;
static {
System.out.println("执行father static object a=" + a);
a = 2;
}
{
System.out.println("执行 father object a=" + a);
}
public Father() {
System.out.println("执行 Father construct a=" + a);
a = 6;
}
}
static class Son extends Father {
static {
System.out.println("执行 Son static object a=" + a);
a = 3;
}
{
System.out.println("执行 Son object a=" + a);
}
public Son() {
System.out.println("执行 Son construct a=" + a);
a = 4;
}
}
@Test
public void testLoad() {
// Father father =new Son();
System.out.println(Son.a);
}
运行结果及报错内容
代码输出2, 说明只执行了父类的静态代码块,子类的静态代码块为啥不执行