Java 类的初始化时机

版权声明:最终解释权归属Hern、HernSong(hernsong)、苍鹭、www.hernsong.com所有! https://blog.csdn.net/qq_36761831/article/details/91410651

会初始化的情况

1、创建类的实例。

2、类的静态变量,或者为静态变量赋值。(被final修饰、已在编译期把结果放入常量池的静态字段除外)

3、类的静态方法。

4、使用反射来强制创建爱你某个类或接口对应的java.lang.Class对象。

5、初始化某个类的子类。

6、直接使用java.exe命令来运行某个主类。

7、如果初始化一个类的时候,如果发现父类还没有初始化,则需要先触发其父类的初始化。

注意:

1、通过子类类名调用父类静态代码,不会触发子类的初始化。
2、通过数组来创建对象不会触发此类的初始化。
3、通过调用静态常量不会触发初始化。

猜你喜欢

转载自blog.csdn.net/qq_36761831/article/details/91410651