静态代码块与普通代码块执行顺序比较
/** * 此实例是为了演示静态代码块,普通代码块,以及构造方法的执行顺序 * @author liujx * */public class OrderOfExecutionShow {{// 普通代码块1System.out.println("普通代码块1执行");}static{// 静态代码块System.out.println("静态代码块执行");}{// 普通代码块2System.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方法执行结束
==================================
由此可见执行顺序为静态代码块-》普通代码块-》构造方法
其中静态代码块是在类加载时执行,而普通代码块是在创建对象实例时加载