Java中构造函数、static块、{}块的执行顺序

测试代码如下:

父类:

public class ParentTest {

	public ParentTest(){
		System.out.println(0);
	}
	
	static{
		System.out.println(1);
	}
	
	{
		System.out.println(2);
	}
}

子类:

public class ChildTest extends ParentTest{

	public ChildTest(){
		System.out.println(3);
	}
	
	static{
		System.out.println(4);
	}
	
	{
		System.out.println(5);
	}
	
}

测试类:

public class MainTest {

	public static void main(String[] args) {

		new ChildTest();
	}	
}


测试结果:

1
4
2
0
5
3


结论:

先调用父类的static块,然后调用子类的static块,然后调用父类的{}块、父类的构造函数,然后调用子类的{}块、子类的构造函数。

阅读更多
版权声明:欢迎转载,但是看在我辛勤劳动的份上,请注明来源:坦GA的博客(未经允许严禁用于商业用途,违者将追究法律责任!)。文中如有错误,欢迎批评指正,谢谢。 https://blog.csdn.net/tanga842428/article/details/52372935
文章标签: java
上一篇Oracle字段类型
下一篇Java子类构造函数中默认调用父类的空参构造函数
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭