final 是 Java 的保留關鍵字,一旦將引用聲明為 final,該引用就不能再改變指向的對象。
被 final 修飾的變量稱為 final 變量,通常與 static 搭配作為常量使用。final 變量是只讀的,例如:
public static final String NAME = "Java";
被 final 修飾的方法不能被子類重寫。由於編譯時已靜態綁定,不需運行時動態綁定,final 方法比非 final 方法執行更快。示例:
public class Animal {
public final String eat() { return "eat"; }
}
public class Dog extends Animal {
@Override
public String eat() { // 編譯錯誤:不能覆蓋 final 方法
return "eat";
}
}
用 final 修飾的類稱為 final 類,功能完整且不能被繼承。Java 中許多類如 String、Integer 等包裝類均為 final。