父类-子类的构造方法,构造代码块,静态代码块调用顺序

自定义父类

package day05.k08;

public class MyObj {
			
	public MyObj() {
		System.out.println("A");
	}
	
	{
		System.out.println("B");
	}
	{
		System.out.println("C");
	}
	
	static {
		System.out.println("D");
	}
	static {
		System.out.println("E");
	}
}

自定义子类

package day05.k08;

public class MySon extends MyObj {
	public MySon() {
		super();
		System.out.println("1");
		
	}
	{
		System.out.println("2");
	}
	{
		System.out.println("3");
	}
	static {
		System.out.println("4");
	}
	static {
		System.out.println("5");
	}
}

自定义测试类

package day05.k08;

public class MyTest {

	public static void main(String[] args) {
		MySon s = new MySon();
	}

}

在这里插入图片描述
执行顺序:
父类静态代码块->子类静态代码块->父类构造代码块->父类构造方法->子类构造代码块->子类构造方法
同级别:按代码顺序先后执行。

猜你喜欢

转载自blog.csdn.net/weixin_43400357/article/details/85714274
今日推荐