静态块:用static声明 在jvm加载类时执行,仅执行一次
构造块:用{}声明每一次创建对象时执行
执行的优先顺序 静态块 > main > 构造块 >构造方法
静态块 按照申明顺序执行
一道实例
首先分析下执行过程后面在贴上执行结果
B t = new B(); 加载类 此时执行 public static B t1 = newB(); 调用构造块 输出 构造块
然后顺序执行静态块
public static B t2 = newB(); 输出构造块
然后顺序执行静态块
输出 静态快
最后执行第一个的构造块输出 构造块
最后执行的顺序是 构造块->构造块->静态块->构造块
执行结果