面試官:說一下 final 和 final 的 4 種用法?

作者 | 王磊
來源 | Java中文社群(ID:javacn666)
轉(zhuǎn)載請(qǐng)聯(lián)系授權(quán)(微信ID:GG_Stone)
重要說明:本篇為博主《面試題精選-基礎(chǔ)篇》系列中的一篇,查看系列面試文章請(qǐng)關(guān)注我。Gitee 開源地址:https://gitee.com/mydb/interview
final 定義
final 翻譯成中文是“最終”的意思,它是 Java 中一個(gè)常見關(guān)鍵字,使用 final 修飾的對(duì)象不允許修改或替換其原始值或定義。
比如類被 final 修飾之后,就不能被其他類繼承了,如下圖所示:
final 的 4 種用法
final 的用法有以下 4 種:
修飾類 修飾方法 修飾變量 修飾參數(shù)
1.修飾類
final?class?Animal?{
}

2.修飾方法
public?class?FinalExample?{
????public?final?void?sayHi()?{
????????System.out.println("Hi~");
????}
}

3.修飾變量
public?class?FinalExample?{
????private?static?final?String?MSG?=?"hello";
?//......
}

4.修飾參數(shù)
public?class?FinalExample?{
????public?void?sayHi(final?String?name)?{
????????System.out.println("Hi,"?+?name);
????}
}

final 作用
使用 final 修飾類可以防止被其他類繼承,如 JDK 代碼中 String 類就是被 final 修飾的,從而防止被其他類繼承,導(dǎo)致內(nèi)部邏輯被破壞。
String 類部分源碼如下:
總結(jié)
final 是 Java 中常見的一個(gè)關(guān)鍵字,被它修飾的對(duì)象不允許修改、替換其原始值或定義。final 有 4 種用法,可以用來修飾類、方法、變量或參數(shù)。
關(guān)注公眾號(hào)「Java中文社群」查看面試系列文章。
評(píng)論
圖片
表情
