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);
    }
}

 

posted @ 2019-03-06 14:32  龘人上天  阅读(1394)  评论(0编辑  收藏  举报