java 静态变量初始化

java 静态变量在编译阶段就已经明确位置, 所以静态变量的声明与初始化在编码顺序上可以颠倒。也就是说可以先编写初始化的代码,再编写声明代码。如:

public class Test {
    // 静态变量的初始化
    static {
        _i = 10;
    }
    
    // 静态变量的声明
    public static int _i;
}

所以如下代码可以被重读下

public class Test {
    static {
        _i = 20;
    }
    public static int _i = 10;
    
    public static void main(String[] args) {
        System.out.println(_i);
    }
}

//等价于如下代码
public class Test {
    public static int _i;
    
    static {
        _i = 20;
        _i = 10;
    }
    
    public static void main(String[] args) {
        System.out.println(_i);
    }
}
原文地址:https://www.cnblogs.com/snow-man/p/10483049.html