图1:
源代码:test04
package wanwan.pachage;
public class test04 {
public static void main(String[] args) {
A a = new A();
System.out.println(A.m);
/*
1.加载到内存,会产生一个类对应Class对象
2.链接,链接结束后 m=0;
3.初始化
<clinit>(){
System.out.println("A类静态代码块初始化");
m=300;
m=100;
}
m=100
*/
}
}
class A{
static {
System.out.println("A类静态代码块初始化");
m=300;
}
static int m = 100;
public A() {
System.out.println("A类的无参构造初始化");
}
}
运行结果:m=100
A类静态代码块初始化
A类的无参构造初始化
100
Process finished with exit code 0
内部图解: