类的初始化时机
java虚拟机只有在程序首次主动使用一个类或者接口的时候才会初始化它吗。
只有六种情况活动被看做是程序对类或者接口的主动使用。
什么是主动使用,我理解是 这个类 并没用被程序使用,但是虚拟机却要初始化它。
1.创建类的实例。创建类的实例的途径包括:用new语句创建实例,或者是通过反射,克隆,以及
反序列化手段来创建实例
2.调用类的静态方法
3.访问某个类或者接口的静态变量,或者对该静态变量赋值
4.调用java API中的反射方法
5.初始化一个类的子类。
6.java 虚拟机启动时被表明为启动类的类。