Java基礎知識回顧之final關鍵字
阿新 • • 發佈:2018-12-08
相關關鍵字的說明:
this關鍵字
final關鍵字
static關鍵字修飾屬性
static關鍵字修飾方法
static關鍵字應用與總結
簡介
在 Java 中我們把 final 稱為終結器,在 Java 中可以使用 final 定義類、方法、屬性。通過 final 修飾以後,可以表示其修飾的類、方法和變數不可改變。
使用 final 定義類
使用 final定義的類不能夠有子類,並且該類中的成員方法都預設為final方法。
final class A{ //使用 final 定義一個類
}
// 這裡在 eclipse 上面會提示: The type B cannot subclass the final class A
// 並且提示要將 class A 中的 final 去掉
class B extends A{} //新建一個類去繼承 final 類
使用 final 定義的方法
使用 final 定義的方法不能被子類覆寫。如果不希望子類重寫父類的某個方法,那就使用 final 關鍵字。
在一些時候由於父類中的某些方法具備某些隱藏的特性,那麼並且子類必須使用此方法操作的時候,就加上 final 關鍵字。意思是說,子類不要去破壞這個方法的重要的作用。
class A{
// 使用 final 定義 方法
public final void fun(){}
}
class B extends A { //新建一個類去繼承 final 類
// 在 eclipse 中這行就會報錯,直接就提示了需要將 A類中的 fun() 的 final 去掉
public void fun(){
}
}
使用 final 定義的變數
當使用 final 修飾變數時,表示該變數一旦獲得了初始值之後就不可被改變。final 既可以修飾成員變數,例如:類變數和例項變數,也可以修改區域性變數和形參。用 final 修飾的變數不可以被改變,一旦獲得初始值之後,該 final 變數的值就不能被重新賦值。
定義常量
class A{
// 使用final 來修飾變數
final double GOOD = 100.0;
// 使用 final 定義 方法
public final void fun(){
// 這裡會報錯提示 將 GOOD 修飾的 final 去掉
GOOD = 200;
}
}
全域性常量
使用 public static final 宣告的就是全域性常量
public static final String CONF_ID = "Windows";
static 的資料儲存在公共資料區,所以此處的常量就是一個公共常量。
final 宣告的資料,是不能修改的,所以上面的程式碼定義的變數就成為了全域性使用的常量。