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变量

相关文章
相关标签/搜索