Java对类的使用包括主动使用和被动使用。
其中被动使用不会初始化类,但有可能会加载类,并且在加载的过程中,如果遇到了class文件的缺失,或者是找不到class文件类加载器只会在首次主动使用它们的时候才会报错,如果一直都没有主动使用则不会报错。
主动使用的情况分为6种。
1.New,直接使用。
2访问某个类或接口的静态变量。
3调用静态方法。
4反射某个类。
5初始化一个子类。
被动使用的情况分为三种。
1通过子类调用父类的静态方法,子类不会被初始化。
2构造一个该类的数组,该类不会被初始化。
3引用类中的一个常量类型,该类不会初始化。