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

更新時間:2022-09-02

1 千次 + 瀏覽

開啟你的 職業

完成培訓課程獲得認證

入門
廣告