深入理解Java中的final關鍵字
Java中的final關鍵字非常重要,它可以應用於類、方法以及變數。這篇文章中我將帶你看看什麼是final關鍵字?將變數,方法和類宣告為final代表了什麼?使用final的好處是什麼?最後也有一些使用final關鍵字的例項。final經常和static一起使用來宣告常量,你也會看到final是如何改善應用效能的。
final關鍵字的含義?
final在Java中是一個保留的關鍵字,可以宣告成員變數、方法、類以及本地變數。一旦你將引用宣告作final,你將不能改變這個引用了,編譯器會檢查程式碼,如果你試圖將變數再次初始化的話,編譯器會報編譯錯誤。
什麼是final變數?
凡是對成員變數或者本地變數(在方法中的或者程式碼塊中的變數稱為本地變數)宣告為final的都叫作final變數。final變數經常和static關鍵字一起使用,作為常量。
final變數是隻讀的。
什麼是final方法?
final也可以宣告方法。方法前面加上final關鍵字,代表這個方法不可以被子類的方法重寫。如果你認為一個方法的功能已經足夠完整了,子類中不需要改變的話,你可以宣告此方法為final。final方法比非final方法要快,因為在編譯的時候已經靜態繫結了,不需要在執行時再動態繫結。
什麼是final類?
使用final來修飾的類叫作final類。final類通常功能是完整的,它們不能被繼承。Java中有許多類是final的,譬如String, Interger以及其他包裝類。
final關鍵字的好處
下面總結了一些使用final關鍵字的好處
- final關鍵字提高了效能。JVM和Java應用都會快取final變數。
- final變數可以安全的在多執行緒環境下進行共享,而不需要額外的同步開銷。
- 使用final關鍵字,JVM會對方法、變數及類進行優化。
不可變類
建立不可變類要使用final關鍵字。不可變類是指它的物件一旦被建立了就不能被更改了。String是不可變類的代表。不可變類有很多好處,譬如它們的物件是隻讀的,可以在多執行緒環境下安全的共享,不用額外的同步開銷等等。
本文轉自TBHacker部落格園部落格,原文連結:http://www.cnblogs.com/jiqing9006/p/7742127.html,如需轉載請自行聯絡原作者
相關文章
- Java面試題,深入理解final關鍵字Java面試題
- Java中final關鍵字Java
- 深入理解Java中的volatile關鍵字Java
- final關鍵字深入解析
- java中的static和final關鍵字Java
- Java中final關鍵字如何使用?Java
- Java Final關鍵字Java
- Java 關鍵字之 finalJava
- java之final關鍵字Java
- Java 中 final 關鍵字有什麼用Java
- Java併發--final關鍵字Java
- java基礎-關鍵字finalJava
- 深入理解synchronized關鍵字synchronized
- 深入理解copy關鍵字
- 深入彙編指令理解Java關鍵字volatileJava
- 深入理解Swift中static和class關鍵字Swift
- final關鍵字
- JAVA static關鍵字理解Java
- C++ 的 new 關鍵字深入理解C++
- Java基礎——final和static關鍵字Java
- Java關鍵字static、final使用小結Java
- java final和static關鍵字學習Java
- 徹底搞定Java關鍵字final、staticJava
- java基礎----->Static 和 Final 關鍵字Java
- Java關鍵字final、static使用總結Java
- Java關鍵字volatile的理解Java
- JAVA中的關鍵字Java
- java中方法的終結者(final關鍵字)Java
- 完全理解JavaScript中的this關鍵字JavaScript
- java中this關鍵字Java
- Java併發專題(三)深入理解volatile關鍵字Java
- typescript 中的 infer 關鍵字的理解TypeScript
- java中this關鍵字的用法Java
- java中的static關鍵字Java
- 深入瞭解 Java 的 volatile 關鍵字Java
- 深入理解Java記憶體模型JMM與volatile關鍵字Java記憶體模型
- 物件導向-final關鍵字物件
- java中的instanceof關鍵字Java