什麼是 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

更新於: 02-09-2022

1K+ 瀏覽量

開啟你的 職業

完成課程,獲取認證

開始
廣告