Java中的类在什么情况下会被加载并初始化
1.创建类的实例.
2.调用某个类的类方法(静态方法)。
3.访问某个类变量或为该变量赋值。
4.使用反射方式来强制创建某个类或接口对应的java.lang.Class对象。
5.初始化某个类的子类,子类的父类都会被初始化。
6.直接使用java.exe命令运行某个主类,主类先被初始化。
注:static修饰的属性和方法在类加载的时候初始化,普通的属性和方法在创建类实例对象的时候才会被初始化。
不被初始化的情况
1.通过子类引用父类的静态字段,子类不会被初始化。
2.通过数组定义来引用类。
3.调用类的常量