Java中final關(guān)鍵字和final的4種用法
1、final 定義
final
翻譯成中文是“最終”的意思,它是 Java 中一個(gè)常見關(guān)鍵字,使用 final 修飾的對象不允許修改或替換其原始值或定義。
比如類被 final
修飾之后,就不能被其他類繼承了,
如下圖所示:
2、final 的 4 種用法
final 的用法有以下 4 種:
- 修飾類
- 修飾方法
- 修飾變量
- 修飾參數(shù)
2.1.修飾類
final class Animal { }
說明:被 final
修飾的類不允許被繼承,表示此類設(shè)計(jì)的很完美,不需要被修改和擴(kuò)展。
2.2.修飾方法
public class FinalExample { public final void sayHi() { System.out.println("Hi~"); } }
說明:被 final
修飾的方法表示此方法提供的功能已經(jīng)滿足當(dāng)前要求,不需要進(jìn)行擴(kuò)展,并且也不允許任何從此類繼承的類來重寫此方法。
2.3.修飾變量
public class FinalExample { private static final String MSG = "hello"; //...... }
說明:當(dāng) final
修飾變量時(shí),表示該屬性一旦被初始化便不可以被修改。
2.4.修飾參數(shù)
public class FinalExample { public void sayHi(final String name) { System.out.println("Hi," + name); } }
說明:當(dāng) final
修飾參數(shù)時(shí),表示此參數(shù)在整個(gè)方法內(nèi)不允許被修改。
3、final 作用
使用 final 修飾類可以防止被其他類繼承,如 JDK 代碼中 String
類就是被 final
修飾的,從而防止被其他類繼承,導(dǎo)致內(nèi)部邏輯被破壞。?
String 類部分源碼如下:
3、總結(jié)
final
是 Java
中常見的一個(gè)關(guān)鍵字,被它修飾的對象不允許修改、替換其原始值或定義。final 有 4 種用法,可以用來修飾類、方法、變量或參數(shù)。
到此這篇關(guān)于 Java中final關(guān)鍵字和final的4種用法的文章就介紹到這了,更多相關(guān) final關(guān)鍵字和final的用法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
springboot2.x實(shí)現(xiàn)oauth2授權(quán)碼登陸的方法
這篇文章主要介紹了springboot2.x實(shí)現(xiàn)oauth2授權(quán)碼登陸的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08Spring Security角色繼承實(shí)現(xiàn)過程解析
這篇文章主要介紹了Spring Security角色繼承實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08Spring-AOP @AspectJ進(jìn)階之如何綁定代理對象
這篇文章主要介紹了Spring-AOP @AspectJ進(jìn)階之如何綁定代理對象的操作,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07Java中byte、byte數(shù)組與int、long的轉(zhuǎn)換詳解
這篇文章分別給大家介紹了Java中byte和int之間的轉(zhuǎn)換、Java中 byte數(shù)組和int之間的轉(zhuǎn)換、Java中byte數(shù)組和long之間的轉(zhuǎn)換以及整理了整體工具類的源碼,需要的朋友可以參考借鑒,下面來一起看看吧。2017-02-02java?線程池狀態(tài)及狀態(tài)轉(zhuǎn)換
這篇文章主要介紹了java?線程池狀態(tài)及狀態(tài)轉(zhuǎn)換,Java里線程池的狀態(tài)和線程的狀態(tài)是完全不同的,具體有幾種狀態(tài)和哪些不同點(diǎn),下面文章詳細(xì)介紹,需要的小伙伴可以參考一下2022-05-05MybatisPlus使用queryWrapper如何實(shí)現(xiàn)復(fù)雜查詢
這篇文章主要介紹了MybatisPlus使用queryWrapper如何實(shí)現(xiàn)復(fù)雜查詢,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教。2022-01-01Java/Android 實(shí)現(xiàn)簡單的HTTP服務(wù)器
這篇文章主要介紹了Java/Android 如何實(shí)現(xiàn)簡單的HTTP服務(wù)器,幫助大家更好的進(jìn)行功能測試,感興趣的朋友可以了解下2020-10-10