JavaEE初始化时静态代码块加载问题

Posted 终难遇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaEE初始化时静态代码块加载问题相关的知识,希望对你有一定的参考价值。

1.使用java.exe命令运行某个类的时
java.exe Person
2.创建一个类的对象时
Person p=new Person();
3.访问类中的静态成员变量(赋值/获取值)
System.out.println(Person.className);
4.访问了类中的静态成员方法
Person.method();
5.创建类的子类对象的时候
Student s=new Student();
6.使用反射方式来强制创建某个类或接口对应的java.lang.Class对象
System.out.println(Person.class);//(不加载静态代码块)

第六种方法在加载时没有完成反射过程中类的加载的三步(类的加载,连接,初始化),所以不能执行类中的静态代码块,其余方法均可以实现静态代码块的执行












以上是关于JavaEE初始化时静态代码块加载问题的主要内容,如果未能解决你的问题,请参考以下文章

java中的静态代码块、代码块、构造器的执行顺序是怎样呢,这三者有啥作用呢

关于静态块静态属性构造块构造方法的执行顺序

Java的静态块和初始化块分别何时执行?有啥区别?

java 对象的初始化流程(静态成员静态代码块普通代码块构造方法)

java中静态代码块之我的理解

类初始化时静态代码块的加载