首先,main方法执行前
static {
A a = new A();
i = 10;
}
随着A类的加载而加载
A a = new A();执行,
那么就会执行
public A() {
System.out.println(A.i);
System.out.println(j);
}
而成员变量
public static int i;
public int j;
系统默认值为0;
所以 打印
0
0
然后
执行i =10;
随后,main方法执行,
A a = new A();
所以又执行一次
public A() {
System.out.println(A.i);
System.out.println(j);
}
这时候打印
1
0
所以结果为
0
0
1
0 |