Java 中的空白未初始化 final 变量是什么?
final 变量只能显式地初始化一次。声明为 final 的引用变量绝不能重新赋值以引用不同的对象。但是,对象中的数据可以更改。因此,可以更改对象的状态,但不能更改引用。对于变量,final 修饰符经常与 static 一起使用,以使常量成为类变量。
因此,一旦我们声明了一个 final 变量,就必须在声明时或使用构造函数初始化该 final 变量。
如果没有,可能会出现编译时错误,提示“空白 final 域 num 可能尚未初始化”。
示例
public class Test{ final int num; public static void main(String args[]){ Test t = new Test(); System.out.println(t.num); } }
错误
C:\Sample>javac Test.java Test.java:2: error: variable num not initialized in the default constructor final int num; ^ 1 error
广告