• 在每次创建对象时隐式执行,而且在执行构造器之前执行
      • 假象,编译后,初始化块中代码会被“还原”到每个构造器中,且位于构造器所有代码的前面
    • 静态初始化块 / 类初始化块:初始化块的修饰符只能是 static,使用 static 修饰的初始化块,通常用来对类变量做初始化操作、加载资源、加载配置文件等
      • 随着所在类的加载而执行(只执行一次)
    • 类变量的初始化 及 静态初始化块(执行顺序与它们在源代码中的排列顺序相同)
    • 实例变量的初始化 及 普通初始化块(执行顺序与它们在源代码中的排列顺序相同)
    • 构造器(先加载父类的字节码文件并调用父类的构造器)
    • main 方法