gpt4 book ai didi

java - 为什么 Java 不允许在构造函数中初始化 static final 变量(例如 static final int d)?

转载 作者:搜寻专家 更新时间:2023-11-01 01:32:30 25 4
gpt4 key购买 nike

<分区>

我正在尝试用 Java 初始化不同类型的变量。我可以在构造函数中初始化最终变量(例如 final int b)和静态变量(例如 static int c),但我不能在构造函数中初始化静态最终变量(例如 static final int d)。 IDE 还会显示错误消息。

为什么 Java 不允许在构造函数中初始化静态最终变量?

public class InitialisingFields {
int a;
final int b;
static int c;
static final int d;

InitialisingFields(){
a = 1;
b = 2;
c = 3;
d = 4;
}

public static void main(String[] args) {
InitialisingFields i = new InitialisingFields();
}

}

错误信息:

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - cannot assign a value to final variable d
at JTO.InitialisingFields.<init>(InitialisingFields.java:22)
at JTO.InitialisingFields.main(InitialisingFields.java:26)
Java Result: 1

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