我在此处的维基百科 (https://en.wikipedia.org/wiki/Final_(Java)#Final_variables) 上阅读了有关 Java 中的 final
关键字的内容,第一句话让我有些困惑。它说:
A final variable can only be initialized once, either via an initializer or an assignment statement.
在此上下文中什么是“初始化器”?我在谷歌上搜索并了解了在构造函数之前执行的“初始化程序 block ”,但我认为这不是它所指的,因为初始化程序 block 仍会使用赋值语句完成赋值。那么什么是可以完成与赋值语句相同工作的“初始化器”呢?
最佳答案
那段维基百科的措辞非常糟糕。您可以初始化最终变量
- 当你声明它时,
- 在声明后的初始化程序 block 中,在任何方法或构造函数之外,或者
- 在构造函数中。
您只能选择这些地点之一。您不能将 final 变量初始化两次。
关于java - 初始化程序而不是赋值语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49142871/