java - 初始化程序而不是赋值语句

标签 java

我在此处的维基百科 (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/

相关文章:

java - 在 JavaFX 中绘制 3d 表面

java - 使用 Java8 将数组迭代转换为 lambda 函数

java - 如何在tomcat中设置自定义环境变量?

java - 用户登录成功后如何显示用户名?

java - 对象到 SQL 和 SQL 到对象

java - tomcat 和 java.security.Security

java - 我无法将两个值插入到不同的 SQL 表中

java - App Engine + 云数据存储性能 : order in query or in memory?

java - 如何在Java中将TIFF转换为JPEG/PNG

java - 如何调用Ajax请求从数据库获取记录并在页面加载时使用servlet显示在jsp上