final 關鍵字代表最終、不可改變的。
常見的四種用法
- 可以用來修飾一個類
- 可以用來修飾一個方法
- 可以用來修飾一個局部變量
- 可以用來修飾一個成員變量
1.
當final關鍵字用來修飾一個類的時候,格式:
public final class 類名稱{ //。。。 }
含義:
- 當前這個類不能有任何的子類。(太監類)
注意:
- 一個類如果是final的,那么其中所有的成員方法都無法進行覆蓋重寫(因為沒有兒子)。
2.
當final關鍵字用來修飾一個方法的時候,這個方法就是最終方法,也就是不能被覆蓋重寫的。
格式: 修飾符 final 返回值類型 方法名稱(參數列表){ //方法體 }
注意事項:
- 對於類、方法來,abstract關鍵字和final關鍵字不能同時使用,因為矛盾。
3.
一旦使用final用來修飾局部變量,那么這個變量就不能進行更改。
‘一次賦值,終身不變’
- 對於基本類型來說,不可變說的是變量當中的數據不可改變
- 對於引用類型來說,不可變說的是變量當中的地址值不可改變
4.
對於成員變量來說,如果使用final關鍵字修飾,那么這個變量也照樣是不可變。
- 對於成員變量具有默認值,所以用了final之后必須手動賦值,不會再給默認值了
- 對於final的成員變量,要么使用直接賦值,要么通過構造方法賦值。二者選其一。
- 必須保證類當中所有重載的構造方法,都最終會對final的成員變量進行賦值。