大家都知道  静态代码块  先于  构造代码块   先于 构造器执行  那么如图结果是


class Test {
static int a;
// 构造代码块
{
a = 88;
System.out.println("构造代码块-----a\t" + a);
}
// 静态代码块
static {
a = 10;
System.out.println("静态代码块-----a\t" + a);
}
// 无参构造器
Test() {
// 此时会调用有参的构造器但只是传值而不会输出构造器内的内容
this(a);
System.out.println("无参构造 a---->\t" + a);
}
// 有参构造器
Test(int n) {
System.out.println("有参构造器 n---->\t" + n);
System.out.println("有参构造器 a----->\t" + a);
}
public static void main(String[] args) {
new Test();
}

}


执行结果如下:

代码块的执行问题_构造代码块