Java中的final關鍵字詳解

三種被final修飾的場景:

Java中final關鍵字的使用很頻繁,它可以修飾變量、方法跟類。“final”的英文意思是最終的、不可更改的意思,因此被final修飾的變量、方法或類是不能被更改的。
final一般會跟static關鍵字結合使用。下面分別解析被final修飾的變量、方法和類:

一、final變量

定義:被final修飾的變量就是final變量,final變量經常和static關鍵字一起使用,作爲常量。
特點:final變量被賦值後不能被更改,否則會出現編譯錯誤。
補充:final變量名一般都大寫,比如final int COUNT。

示例:

 public static final int COUNT = 100;
 public static final String TEST = "HAYDEN";

非靜態的final變量也可以在類的構造方法中爲其賦值。

public class Test {
    public final int COUNT;
    public Test(int COUNT){
        this.COUNT = COUNT;
    }
}

二、final方法

定義:被final修飾的方法就是final方法。
特點:final方法不能被重寫。(一般情況下,當一個方法是很完整的,不需要被重寫或者你不希望被被別人重寫,可以將方法聲明爲final),final方法比非final方法要快,因爲在編譯的時候已經靜態綁定了,不需要在運行時再動態綁定。
示例:

public final String finalTest(){
        return "This is a final method!";
    }

三、final類

定義:被final修飾的類就是final類。
特點:final類不能被繼承。java自帶很多final類,比如包裝類String、Interger等。一般final類功能都十分完整,不需要子類來進行擴充。
示例:

public final class FinalClassTest {

}

使用final關鍵字修飾的好處:

1.final關鍵字提高了性能。JVM和Java應用都會緩存final變量。

2.final變量可以安全的在多線程環境下進行共享,而不需要額外的同步開銷。

3.使用final關鍵字,JVM會對方法、變量及類進行優化。

發佈了22 篇原創文章 · 獲贊 23 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章