静态代码块只执行一次 ,非静态代码块没new一次对象就会执行一次
静态代码块是在类加载时自动执行的,非静态代码块是在创建对象时自动执行的代码,不创建对象不执行该类的非静态代码块
public class Demo01 { public static Integer i; { System.out.println("非静态代码块"); } static{ System.out.println("静态代码块"); } public Demo01(){ System.out.println("构造方法执行"); } public static void main(String[] args) { System.out.println("main"); Demo01 demo01 = new Demo01(); Demo01 demo011 = new Demo01(); } }
代码结果: