![](https://img2022.cnblogs.com/blog/2913433/202210/2913433-20221018110606116-1011088612.png)
输出结果: 100
300
“public int field=100;”将field初始化为100,直接调用InitializeBlockClass()输出的是100;
“obj=new InitializeBlockClass(300);”是利用构造方法进行初始化,此时输出的值是300。
3.请运行TestStaticInitializeBlock.java示例,观察输出结果,总结出“静态初始化块的执行顺序”。
静态初始化块的执行顺序:
1.静态初始化块只执行一次
2.创建子类型的对象时,也会导致父类型的静态初始化块的执行。
4.静态方法中只允许访问静态数据