关闭

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

标签: java
356人阅读 评论(0) 收藏 举报
分类:

测试代码如下:

父类:

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块,然后调用父类的{}块、父类的构造函数,然后调用子类的{}块、子类的构造函数。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1100642次
    • 积分:14590
    • 等级:
    • 排名:第930名
    • 原创:251篇
    • 转载:1154篇
    • 译文:92篇
    • 评论:72条