小编Hab*_*blu的帖子

哪个会加载第一个静态变量或静态块?

我的一个朋友问我哪个会加载第一个静态变量或静态块.

我的答案指向静态变量.

所以他给了我两个方程,并说要区分它们的
第一个方程式

public class Some {
    public static void main(String args[])
    {
        System.out.println(Some.x);
    }
    static {
        System.out.println(Some.x);
    }
    static int x=90;
}
Run Code Online (Sandbox Code Playgroud)

O/P:0 90

第二个等式

public class Some {
    public static void main(String args[])
    {
        System.out.println(Some.x);
    }
    static int x=90;
    static {
        System.out.println(Some.x);
    }
}
Run Code Online (Sandbox Code Playgroud)

O/P:90 90

我试图反编译字节码,发现它对于上述两个方程都是一样的.请帮我区分它们.当静态变量初始化时我很困惑.

java stack static core

14
推荐指数
1
解决办法
2万
查看次数

标签 统计

core ×1

java ×1

stack ×1

static ×1