1. 程式人生 > >Java基礎知識回顧之final關鍵字

Java基礎知識回顧之final關鍵字

相關關鍵字的說明:
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 宣告的資料,是不能修改的,所以上面的程式碼定義的變數就成為了全域性使用的常量。