Java 中的空白 final\n
在 Java 中,final 變數只能賦值一次。可以在宣告期間或在稍後階段進行賦值。如果 final 變數沒有分配任何值,則將其視為 空白 final 變數。以下是管理空白 final 變數的初始化規則。
空白例項級別的 final 變數不能保留未初始化狀態。
空白例項級別的 final 變數必須在每個建構函式中初始化。
空白例項級別的 final 變數不能在類方法中初始化。
空白靜態 final 變數不能保留未初始化狀態。
靜態 final 變數必須在靜態塊中初始化。
靜態 final 變數不能在建構函式或類方法中初始化。
示例
public class Tester { public final int a; public static final int b; static { b = 2; } Tester() { this(1); } Tester( int a) { this.a = a; } public static void main(String[] args) { Tester tester = new Tester(); System.out.println("a = " + tester.a + ", b = " + b); } }
輸出
a = 1, b = 2
廣告