首页 > 代码库 > 调用构造器的处理步骤

调用构造器的处理步骤

调用构造器的具体处理步骤:

1)所有数据域被初始化为默认值(0,false,null)
2)按照在类中出现的次序,依次执行所有域初始化语句和初始化块
3)如果构造器第一行调用了第二个构造器,则执行第二个构造器主体
4)执行这个构造器的主体

public class TestConstructLoad {

	public static void main(String[] args) {
		new ConstructorLoad(1);
	}
}

class ConstructorLoad {

	//1.所有数据域被初始化为默认值(0,false,null)
	private int a;
	private String b = "xxxxxxxxx";

	//2.按照在类中出现的次序,依次执行所有域初始化语句和初始化块
	{
		System.out.println("初始化块a=" + a + ",b=" + b);
		a = 10;
	}

	//3.如果构造器第一行调用了第二个构造器,则执行第二个构造器主体
	public ConstructorLoad() {
		System.out.println("ConstructorLoad无参数");
	}

	//4.执行这个构造器的主体
	public ConstructorLoad(int a) {
		this();
		System.out.println("ConstructorLoad有参数,a=" + this.a + ",b=" + this.b);
		this.a = 20;
	}
}