https://s3-us-west-2.amazonaws.com/secure.notion-static.com/4749f86a-a362-4376-afcb-88154f6bf496/IMG_0226.jpg

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/e93e05d5-532e-43f4-aca8-5f7d7d60067a/IMG_0228.jpg

package top.ltyzqhh.Reflection;

public class Test03 {
    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;
            }
         
         */
    }
}

class A{
    static {

        System.out.println("A类静态代码块初始化");
        m=300;
    }

    static int m=100;

    public A(){
        System.out.println("A类无参构造初始化");
    }
}

运行结果

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/c4bec562-e7a1-4c31-8d85-1d62eee3d9b5/Snipaste_2021-05-07_19-22-52.png

思考:对于运行的结果来看,运行的顺序应该是