类的加载过程三:Initialization(初始化)阶段

初始化阶段,简言之,为类的静态变量赋予正确的初始值。(显式初始化)

具体描述
类的初始化是类装载的最后一个阶段。如果前面的步骤都没有问题,那么表示类可以顺利装载到系统中。此时,类才会开始执行Java字节码。(即:到了初始化阶段,才真正开始执行类中定义的 Java 程序代码。)
初始化阶段的重要工作是执行类的初始化方法:()方法。
该方法仅能由Java编译器生成并由JVM调用,程序开发者无法自定义一个同名的方法,更无法直接在Java程序中调用该方法,虽然该方法也是由字节码指令所组成。
它是由类静态成员的赋值语句以及static语句块合并产生的。
1-子类加载前先加载父类?
在加载一个类之前,虚拟机总是会试图加载该类的父类,因此父类的总是在子类之前被调用。也就是说,父类的static块优先级高于子类。

口诀:由父及子,静态先行。

你可能感兴趣的:(jvm,java,开发语言)