类的主动使用与被动使用
1. 类的主动使用与被动使用
以下是视为主动使用一个类,其他情况均视为被动使用!
1):初学者最为常用的new一个类的实例对象(声明不会主动使用)
2):对类的静态变量进行读取、赋值操作的。而对于静态常量(static final)不会初始化此类。
3):直接调用类的静态方法。
4):加载一个类或者反射调用一个类的方法。
5):初始化一个类的子类的时候,父类也相当于被程序主动调用了(如果调用子类的静态变量是从父类继承过来并没有复写的,那么也就相当于只用到了父类的东东,和子类无关,所以这个时候子类不需要进行类初始化)。
6):直接运行一个main函数入口的类。
所有的JVM实现,在首次主动调用类和接口的时候才会初始化他们。