1. 执行代码块格式:
static{
    procudure...
}
  1. 执行顺序:
class StaticCode1{
    static{
        System.out.println("x");
    }
}

public class StaticDemo1{
    static{                   //第一步,先加载主函数所在类,所以先加载并执行这段静态代码块。
        System.out.println("y");
    }
    public static void main(String[] args){
        new StaticCode1();     //第三步,加载StaticCode1类
        new StaticCode1();     //第四步,类只加载一次,静态代码块只执行一次,这里不再执行
        System.ou.println("over");  //第五步,输出打印
    }
    static{                   //第二步,多个静态代码块,按先后顺序执行
        System.out.println("z");
    }
}

输出:

y
z
x
over

参考资料

01-27 16:20