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中文網其他相關文章!