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

执行结果:wangtong

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

执行结果:wangxing

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

猜你喜欢

转载自my.oschina.net/u/1760932/blog/1622977
今日推荐