java靜態變量和靜態代碼塊的加載順序

靜態變量的聲明和賦值是分開的,變量名的聲明先加載,賦值是按照代碼順序執行。java

public class Test {
    static {
        NAME = "xing";
    }
    private static String NAME = "tong";
    private static String namee = "wang" + NAME;
    public static void main(String[] args){
        System.out.println(namee);
    }
}

執行結果:wangtongcode

public class Test {
    private static String NAME = "tong";
    static {
        NAME = "xing";
    }
    private static String namee = "wang" + NAME;
    public static void main(String[] args){
        System.out.println(namee);
    }
}

執行結果:wangxingclass

public class Test {
    private static String NAME = "tong";
    private static String namee = "wang" + NAME;
    static {
        NAME = "xing";
    }
    public static void main(String[] args){
        System.out.println(namee);
    }
}

執行結果:wangtong變量

相關文章
相關標籤/搜索