有大佬能给我解释一下这是为什么吗

109 阅读1分钟

一、

public class Test{

    static {
        a = 1;
   }
    static int a = 2;
    
    public static void main(String[] args) {
        System.out.println(a);//2
    }
}

二、

public class Test{

    static {
        a = 1;
        //a++出错
   }
    static int a;

    public static void main(String[] args) {
        System.out.println(a);//1
    }
}