大家都知道 静态代码块 先于 构造代码块 先于 构造器执行 那么如图结果是
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();
}
}
执行结果如下: