类的初始化时机:
1:创建类的实例。
2: 访问某个类或接口的静态变量,或者对该静态变量赋值。
3:调用类的静态方法
4:反射(Class.forName("com...."));
5:初始化一个类的子类
6:Java虚拟机启动时被标明为启动类的类。
只有当程序访问的静态变量或静态方法确实在当前类或当前接口中定义时,才可以认为是对类或接口的主动使用。
调用ClassLoader类的loadClass方法加载一个类,并不是对一个类的主动使用,不会导致类的初始化
本文详细介绍了Java中类的六种初始化时机,包括创建类实例、访问静态变量等场景,并解释了什么情况下被认为是主动使用类。
类的初始化时机:
1:创建类的实例。
2: 访问某个类或接口的静态变量,或者对该静态变量赋值。
3:调用类的静态方法
4:反射(Class.forName("com...."));
5:初始化一个类的子类
6:Java虚拟机启动时被标明为启动类的类。
只有当程序访问的静态变量或静态方法确实在当前类或当前接口中定义时,才可以认为是对类或接口的主动使用。
调用ClassLoader类的loadClass方法加载一个类,并不是对一个类的主动使用,不会导致类的初始化

被折叠的 条评论
为什么被折叠?