以上一篇中介绍了类的加载过程,此篇主要介绍类会在什么情况下会初始化的
一个类的使用方式总的来说,分成:主动与被动的。
那么主动的使用会有哪些场景呢:
1.创建类的实例: new ClassA()
2.访问某个类或是接口的静态变量或是静态变量进行赋值操作
ClassA.name=""
3.反射
Class.forName("com.test.ClassA")
4.调用一个类的静态方法
ClassA.getName()
5.初始化一个类的子类
6.被 JVM标注为启动类的类
以上几种情形出现的时候就会触发类的初始化动作