gpt4 book ai didi

java - 静态变量初始化的顺序,Java

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:55:04 26 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
Java static class initialization
in what order are static blocks and static variables in a class executed?

当我运行这段代码时,答案是 1,我以为会是 2。每一步的初始化顺序和k值是多少?

public class Test {

static {k = 2;}
static int k = 1;

public static void main(String[] args) {
System.out.println(k);
}
}

编辑 1:作为“k 设置为默认值”的跟进,那么为什么下一个代码无法编译?出现错误“无法在定义前引用字段”。

public class Test {

static {System.out.println(k);}
static int k=1;

public static void main(String[] args) {
System.out.println(k);
}
}

编辑 2:出于某些我不知道的原因,它^在用“Test.k”代替“k”时起作用。

谢谢大家的回答。这就足够了:D

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com