会出发初始化的情况:
1,实例化的时候肯定是要触发的new 和Class.forName()
2,类的静态方法被调用的时候
3,类的静态域被访问,被赋值的时候(如果访问的是静态常量,则不会触发初始化)
4,java反射 reflect
大体就是这几种方式。
初始化 会给静态变量赋值,执行静态代码块.
不会触发初始化的情况:
1.调用父类的静态变量
2.调用静态常量
3.创建类的数组
会出发初始化的情况:
1,实例化的时候肯定是要触发的new 和Class.forName()
2,类的静态方法被调用的时候
3,类的静态域被访问,被赋值的时候(如果访问的是静态常量,则不会触发初始化)
4,java反射 reflect
大体就是这几种方式。
初始化 会给静态变量赋值,执行静态代码块.
不会触发初始化的情况:
1.调用父类的静态变量
2.调用静态常量
3.创建类的数组
本文标题:java类初始化
本文链接:https://www.haomeiwen.com/subject/tgofdftx.html
网友评论