Java中final關(guān)鍵字和final的4種用法

1、final 定義
final 翻譯成中文是“最終”的意思,它是 Java 中一個(gè)常見(jiàn)關(guān)鍵字,使用 final 修飾的對(duì)象不允許修改或替換其原始值或定義。

比如類被 final 修飾之后,就不能被其他類繼承了,
如下圖所示:

2、final 的 4 種用法
final 的用法有以下 4 種:
- 修飾類
- 修飾方法
- 修飾變量
- 修飾參數(shù)
2.1.修飾類
final class Animal {
}
說(shuō)明:被 final 修飾的類不允許被繼承,表示此類設(shè)計(jì)的很完美,不需要被修改和擴(kuò)展。
2.2.修飾方法
public class FinalExample {
public final void sayHi() {
System.out.println("Hi~");
}
}

說(shuō)明:被 final 修飾的方法表示此方法提供的功能已經(jīng)滿足當(dāng)前要求,不需要進(jìn)行擴(kuò)展,并且也不允許任何從此類繼承的類來(lái)重寫(xiě)此方法。
2.3.修飾變量
public class FinalExample {
private static final String MSG = "hello";
//......
}

說(shuō)明:當(dāng) final 修飾變量時(shí),表示該屬性一旦被初始化便不可以被修改。
2.4.修飾參數(shù)
public class FinalExample {
public void sayHi(final String name) {
System.out.println("Hi," + name);
}
}
說(shuō)明:當(dāng) final 修飾參數(shù)時(shí),表示此參數(shù)在整個(gè)方法內(nèi)不允許被修改。
3、final 作用
使用 final 修飾類可以防止被其他類繼承,如 JDK 代碼中 String 類就是被 final 修飾的,從而防止被其他類繼承,導(dǎo)致內(nèi)部邏輯被破壞。?
String 類部分源碼如下:

3、總結(jié)
final 是 Java 中常見(jiàn)的一個(gè)關(guān)鍵字,被它修飾的對(duì)象不允許修改、替換其原始值或定義。final 有 4 種用法,可以用來(lái)修飾類、方法、變量或參數(shù)。
到此這篇關(guān)于 Java中final關(guān)鍵字和final的4種用法的文章就介紹到這了,更多相關(guān) final關(guān)鍵字和final的用法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java內(nèi)部類之成員內(nèi)部類、局部?jī)?nèi)部類和匿名內(nèi)部類用法及說(shuō)明
這篇文章主要介紹了java內(nèi)部類之成員內(nèi)部類、局部?jī)?nèi)部類和匿名內(nèi)部類的用法及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
創(chuàng)建動(dòng)態(tài)代理對(duì)象bean,并動(dòng)態(tài)注入到spring容器中的操作
這篇文章主要介紹了創(chuàng)建動(dòng)態(tài)代理對(duì)象bean,并動(dòng)態(tài)注入到spring容器中的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-02-02
Java基于字符流形式讀寫(xiě)數(shù)據(jù)的兩種實(shí)現(xiàn)方法示例
這篇文章主要介紹了Java基于字符流形式讀寫(xiě)數(shù)據(jù)的兩種實(shí)現(xiàn)方法示,結(jié)合實(shí)例形式分析了java逐個(gè)字符讀寫(xiě)及使用緩沖區(qū)進(jìn)行讀寫(xiě)操作的具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-01-01
SpringBoot接收請(qǐng)求參數(shù)的四種方式總結(jié)
這篇文章主要給大家介紹了關(guān)于SpringBoot接收請(qǐng)求參數(shù)的四種方式,文中通過(guò)代碼以及圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用SpringBoot具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-09-09
java 數(shù)據(jù)結(jié)構(gòu)中棧和隊(duì)列的實(shí)例詳解
這篇文章主要介紹了java 數(shù)據(jù)結(jié)構(gòu)中棧和隊(duì)列的實(shí)例詳解的相關(guān)資料,主要使用數(shù)組與線性表的方法來(lái)實(shí)現(xiàn),需要的朋友可以參考下2017-09-09
SpringSecurity的安全過(guò)濾器鏈功能詳解
本文介紹了如何配置SpringSecurity的安全過(guò)濾器鏈,包括定義URL路徑的訪問(wèn)權(quán)限、用戶認(rèn)證和授權(quán)配置、自定義CSRF過(guò)濾器等內(nèi)容,通過(guò)這些配置,可以實(shí)現(xiàn)對(duì)不同URL路徑的訪問(wèn)控制以及用戶的登錄、注銷等功能,感興趣的朋友一起看看吧2025-03-03
在SpringBoot中更改默認(rèn)端口的方法總結(jié)
在本文中,小編將帶大家學(xué)習(xí)如何在 Spring Boot 中更改默認(rèn)端口,默認(rèn)情況下,嵌入式 Web 服務(wù)器使用 8080端口來(lái)啟動(dòng) Spring 引導(dǎo)應(yīng)用程序,有幾種方法可以更改該端口,文中介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07

