静态初始化块是在类被加载的时候就执行的一块程序,并且一直存在直到程序关闭。也就是说当程序被执行,即classloader将该Java程序编译后的class文件加载后,就能执行到静态初始化块这段程序;
最后我们可以得出这么一个结论:Java类的执行优先顺序
该类的静态变量->该类的静态初始化块->该类的构造方法
若存在父类的情况下则是:
父类的静态变量->父类的静态初始化块->子类的静态变量->子类的静态初始化块
静态初始化块是在类被加载的时候就执行的一块程序,并且一直存在直到程序关闭。也就是说当程序被执行,即classloader将该Java程序编译后的class文件加载后,就能执行到静态初始化块这段程序;
最后我们可以得出这么一个结论:Java类的执行优先顺序
该类的静态变量->该类的静态初始化块->该类的构造方法
若存在父类的情况下则是:
父类的静态变量->父类的静态初始化块->子类的静态变量->子类的静态初始化块