/**
* 此实例是为了演示静态代码块,普通代码块,以及构造方法的执行顺序
* @author liujx
*
*/
public class OrderOfExecutionShow {
{
// 普通代码块1
System.out.println("普通代码块1执行");
}
static{
// 静态代码块
System.out.println("静态代码块执行");
}
{
// 普通代码块2
System.out.println("普通代码块2执行");
}
public OrderOfExecutionShow(){
// 构造方法
System.out.println("构造方法执行");
}
public static void main(String[] args){
System.out.println("main方法执行开始");
new OrderOfExecutionShow();
System.out.println("main方法执行结束");
}
}
执行结果:
静态代码块执行
main方法执行开始
普通代码块1执行
普通代码块2执行
构造方法执行
main方法执行结束
==================================
由此可见执行顺序为静态代码块-》普通代码块-》构造方法
其中静态代码块是在类加载时执行,而普通代码块是在创建对象实例时加载