有關final關鍵字的使用

2021-09-24 16:13:10 字數 1228 閱讀 6052

final關鍵字代表最終的,不可改變的。

常見的四種用法:

1.用來修飾乙個類。

2.用來修飾乙個方法。

3.用來修飾乙個區域性變數。

4.用來修飾乙個成員變數。

final關鍵字修飾乙個類的時候,代表這個類不可以被繼承,也就是它不能有子類。

格式:public final class 類名稱

注意:乙個類如果是final類,那麼這個類的所有成員方法都不能進行重寫。

final關鍵字修飾乙個方法的時候,代表這個方法是最終方法,這個方法不能被重寫。

格式:修飾符 final 返回值型別 方法名(引數列表)

注意:對於類,方法來說,abstract和final關鍵字不能同時使用,因為衝突。

如果abstract在類**現,那麼這個類必須被實現類繼承,因為這個類是抽象類。

如果final在類**現,那麼這個類不能被繼承,因為這個類是final類。

如果abstract在方法**現,那麼這個方法是抽象方法,它必須被非抽象子類重寫。

如果final在方法**現,那麼這個方法是最終方法,它不能被重寫。

final關鍵字修飾乙個區域性變數的時候,代表這個區域性變數不能被再次賦值。相當於定義了乙個常量。

格式:final 資料型別 變數名 = 初始值

注意:只要保證有唯一一次賦值即可。

對於基本資料型別來說,不可變代表變數中存的資料不可變。

對於引用資料型別來說,不可變代表變數中存的位址不可變。(位址不可變指的是引用和資料在記憶體中的位置的指向關係不可變,但是引用指向的資料是可變的。)

final關鍵字修飾乙個成員變數的時候,代表這個成員變數不可變。

和區域性變數的區別:

1.由於成員變數具有預設值,所以用了final關鍵字後必須手動賦值,不會再有預設值。

比如在類中定義乙個成員變數string name,不用final的時候它的初始值是null,但是用了final後,如果它還有初值(用了final就沒有初值了),那麼將永遠是null無法改變,無意義。所以必須手動賦值。

2.對於用了final關鍵字的成員變數,要麼直接在定義時賦值,要麼通過構造方法賦值,二者選其一。

如果選擇使用構造方法賦值,且有過載的建構函式,那麼必須保證每個建構函式都會對成員變數name進行賦值。

final關鍵字的使用

1 final修飾類 格式 public final class 類名稱 意義 此類不能有子類,即次類的成員方法都無法覆蓋重寫 2 final修飾成員方法 格式 修飾符 final 返回值型別 方法名稱 引數列表 意義 此方法若在父類中,子類中無法被重寫。注意 對於類和方法不能由abstract和f...

final關鍵字的使用

1 final可以用來修飾的結構 類 包 括內部類 方法 變 量 color 類 包括內部 類 方 法 變數 2 final用來修飾乙個類 俗稱太監類 此類不 能被其他 類繼 承 color 此類不能被其 他類繼承 比如 string類 system類 stringbuffer類 3 final用來...

static關鍵字 final 關鍵字

特點 隨著類的載入而載入,也就是說靜態會隨著類的消失而消失,說明他的生命週期最長 靜態變數 static 關鍵字修飾成員變數,使用 類名.變數名 的形式來訪問,也可以使用 例項物件.變數名 的形式來訪問。靜態方法 static 關鍵字修飾成員函式,靜態方法可以使用 類名.方法名 的形式來訪問,也可以...