public class CodeBlockDemo { { System.out.println("初始化代码"); } CodeBlockDemo() { System.out.println("构造器"); } static { System.out.println("静态代码块"); } //运行后输出结果? public static void main(String[] args) { { int a = 10; //10 System.out.println("局部代码块"); } new CodeBlockDemo(); new CodeBlockDemo(); new CodeBlockDemo(); } }
输出:
静态代码块 局部代码块 初始化代码 构造器 初始化代码 构造器 初始化代码 构造器
总结:
- 静态代码块 > 局部(构造)代码块 > 构造器(构造方法)
- 随着类的加载而执行,而且只一次, 优先于主函数执行