Java Final Variable

2025年4月14日 | 阅读 3 分钟

final 变量可以在声明时或构造函数中进行初始化,但一旦赋值,就不能再修改。final 关键字用于声明常量。使用 final 关键字来声明一个变量为 final。它被视为常量。

语法

Final 变量的特点

  • 一旦赋值,final 变量就不能被重新赋值。
  • 将变量声明为 final 并不意味着该变量是不可变的;如果它是一个引用类型(如 数组对象),它的内容可以被修改,但引用本身不能被改变。
  • Final 变量在使用前必须初始化,否则会发生编译错误。

Final 变量示例

Final 变量作为常量

示例

编译并运行

输出

 
Value of PI is: 3.14   

方法中的 Final 变量作为参数

示例

编译并运行

输出

 
Value: 77  

实例字段中的 Final 变量

示例

编译并运行

输出

 
Roll NO: 26

空白 Final 变量

Java 中的空白 final 变量是一个在声明时未初始化的 final 变量。同样,一旦 final 局部变量被初始化,就不能再设置它,任何尝试为 blankfinal 赋值的操作都会导致编译时错误。

要记住的重要事项

  • 空白 final 变量必须在构造函数完成之前初始化;否则,编译器将抛出错误。
  • 如果存在多个构造函数,空白 final 变量必须在每个构造函数中进行初始化。
  • 空白 final 变量在需要根据对象创建时的动态值进行设置时很有用。

空白 Final 变量示例

示例

编译并运行

输出

 
Value of goods: 5000

结论

总而言之,final Java 关键字通过强制不可变性、防止意外修改以及实现编译器优化,提供了一种强大的机制来增强代码的健壮性、安全性、性能和可维护性。


Final 变量选择题

1. 将 final 关键字应用于变量时,它会做什么?

  1. 它使变量可变。
  2. 它使变量成为常量。
  3. 它使变量成为静态的。
  4. 以上都不是
 

答案 2)

解释:当 final 关键字应用于变量时,它被视为常量。一旦赋值,就不能修改。


2. final 关键字的目的是什么?

  1. 它防止继承。
  2. 它避免方法重写。
  3. 它使变量成为常量。
  4. 以上全部
 

答案 4)

解释:将类声明为 final 可以防止继承,将方法声明为 final 可以防止方法重写,将变量声明为 final 可以使变量成为常量。


3. 我们可以初始化空白 final 变量吗?

  1. 是的
  2. 不能
  3. 取决于逻辑
  4. 仅 1 和 3
 

答案 1)

解释:是的,我们可以初始化空白 final 变量,但只能在构造函数中。


4. 我们可以将方法参数传递为 final 吗?

  1. 不能
  2. 是的
  3. 取决于需求
  4. 仅 2 和 3
 

答案 2)

解释:是的,我们可以将方法参数传递为 final。


5. 如果存在多个构造函数,空白 final 变量必须在 _____________ 中进行初始化。

  1. Class
  2. 仅在一个构造函数中
  3. 每个构造函数
  4. 仅 1 和 3
 

答案 3)

解释:如果存在多个构造函数,空白 final 变量必须在每个构造函数中进行初始化。