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
廣告