【发布时间】:2016-01-27 19:00:40
【问题描述】:
class Test {
public static final int x;
public static void main (String[] args) {
Test.x = 42;
}
}
我已经声明了一个静态最终变量,当我编译它时出现以下错误。
error: cannot assign a value to final variable x
Test.x = 42;
我想我已经找到了解决方案,但我想检查一下我是否正确?
我知道如果未初始化静态变量,则会提供默认值。因为它是一个静态的 final int 变量,它会被赋值为 0。稍后,我尝试将值更改为 42,这是不可能的,因为该变量是 final 并且不能从 0 更改。
我是对的还是有其他答案?
【问题讨论】:
-
final 变量初始化后不能更改。
-
错误准确地告诉你出了什么问题。
-
这个问题你可以通过阅读java网站上的
final关键字得到答案。
标签: java variables static initialization final