final关键字_Java中的final关键字
我們都知道,Java是面向對象的語言,而面向對象有一種思想就是繼承。但是有時候,出于某種原因,我們不希望我們的類、方法或者變量被繼承或重寫,這個時候,我們就需要final關鍵字來幫助我們達到這種效果。
final 類
當使用final關鍵字來標記一個類,則表示該類不能被繼承。例如我們經常使用的String類就被標記為final,表明String類不能夠繼承。設想一下,如果我們可以繼承 String 類,重寫它的任何方法,并用特定 String 子類的實例替換所有 String 實例,那么對 String 對象進行操作的結果將變得不可預測。 而且考慮到到處都在使用 String 類,因此這種繼承是不可接受的。 這就是為什么 String 類被標記為 final。
Java中的String類
final 方法
被標記為final的方法是不能被重寫的。當我們設計一個類并且認為一個方法不應該被重寫時,我們可以將這個方法標記為final。有時候,我們并不想把我們的整個類都標記為final,我們只是希望它其中的部分方法不被重寫就可以,這個時候,我們可以使用final關鍵字來修飾該方法。如我們的Thread類本身并不是final的,但是getName()方法是final的。
java中Thread類的final方法
final 變量
被標記為final的變量是不能被重新賦值的。一旦final變量被初始化,就不能被修改。
final類型修飾的變量分為以下幾種情況:
- 原始類型的final變量,例如int,long,double等,一旦初始化,是不能被修改的,否則編譯器會報錯。
- 引用類型的final變量,例如我們自定義一個final 類型的Person對象,雖然Person對象本身不能被修改,但是我們還是可以通過person.setName("chris");方法來修改Person中name的屬性值。
- final類型的變量要么是常量字段,即聲明的時候就賦一個常量值,要么只能被賦值一次,之后不能被修改。如我們通常會在一個類中聲明一個final類型的成員變量,然后在構造方法中將該成員變量初始化一次,有些地方將這種final變量叫做final blank(final 空白)。
- final類型的形式參數。有時候,我們會把一個方法的形參設置為final的,譬如:
這表明我們不希望該形參在方法內被修改。
總結
在本文中,我們了解了final的一些常用用法,例如final變量可以用來修飾類,方法,變量等,這在有些情況下對我們的代碼設計很有幫助。
總結
以上是生活随笔為你收集整理的final关键字_Java中的final关键字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jvm内存参数配置_“步步精心”-常用J
- 下一篇: java美元兑换,(Java实现) 美元