首頁 > Java > java教程 > 主體

Java中的final關鍵字有什麼用?

怪我咯
發布: 2017-06-23 11:48:04
原創
1480 人瀏覽過

Java中的final關鍵字非常重要,它可以應用於類別、方法以及變數。這篇文章中我將帶你看看什麼是final關鍵字?將變量,方法和類別宣告為final代表了什麼?使用final的好處是什麼?最後也有一些使用final關鍵字的實例。 final經常和static一起使用來聲明常數,你也會看到final是如何改善應用效能的。

final關鍵字的意思?

final在Java中是一個保留的關鍵字,可以宣告成員變數、方法、類別以及本地變數。一旦你將引用宣告作final,你將不能改變這個引用了,編譯器會檢查程式碼,如果你試圖將變數再次初始化的話,編譯器會報編譯錯誤。

什麼是final變數?

凡是對成員變數或本地變數(在方法中的或程式碼區塊中的變數稱為本地變數)宣告為final的都叫作final變數。 final變數經常和static關鍵字一起使用,作為常數。以下是final變數的範例:

public static final String LOAN = "loan";
LOAN = new String("loan") //invalid compilation error
登入後複製

final變數是唯讀的。

什麼是final方法?

final也可以宣告方法。方法前面加上final關鍵字,代表這個方法不可以被子類別的方法重寫。如果你認為一個方法的功能已經夠完整了,子類別中不需要改變的話,你可以宣告此方法為final。 final方法比非final方法快,因為在編譯的時候已經靜態綁定了,不需要在執行時再動態綁定。下面是final方法的範例:

class PersonalLoan{
    public final String getName(){
        return "personal loan";
    }
}
 
class CheapPersonalLoan extends PersonalLoan{
    @Override
    public final String getName(){
        return "cheap personal loan"; //compilation error: overridden method is final
    }
}
登入後複製

什麼是final類別?

使用final來修飾的類別叫做final類別。 final類別通常功能是完整的,它們不能被繼承。 Java中有許多類別是final的,譬如String, Interger以及其他包裝類別。以下是final類別的實例:

final class PersonalLoan{
 
    }
 
    class CheapPersonalLoan extends PersonalLoan{  //compilation error: cannot inherit from final class
 
}
登入後複製

final關鍵字的好處

下面總結了一些使用final關鍵字的好處

final關鍵字提高了效能。 JVM和Java應用程式都會快取final變數。

final變數可以安全的在多執行緒環境下進行共享,而不需要額外的同步開銷。

使用final關鍵字,JVM會對方法、變數及類別進行最佳化。

不可變類別

建立不可變類別要使用final關鍵字。不可變類別是指它的物件一旦被創建了就不能被更改了。 String是不可變類別的代表。不可變類別有很多好處,譬如它們的物件是唯讀的,可以在多執行緒環境下安全的共享,不用額外的同步開銷等等。

以上是Java中的final關鍵字有什麼用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!