Java中複用類-final關鍵字.md

[TOC]
final類基本含義爲無法改變,但在數據、方法和類三種情況下的使用不同。

final數據

  1. final關鍵字告知編譯器數據恆定。
  2. final的引用在數據類型、對象描述時,功能不同。對基本數據類型,final使數據恆定不變;但是對對象引用,final限定的是不能更改描述對象,但對像的值變動是允許的,同樣適用於數組此對象
  3. static final域時,只佔據一段不改變的存儲變量。可以認爲對所有對象數值進行鎖止。

注意事項

  1. final 描述數據時,不能更改數據變量。
  2. final 描述數組時final int[] a={},由於沒有更改對象,也沒有static,可以更改數組的值,不可以更改數組大小
  3. final 描述對象時,不能更改對象。
  4. 帶有恆定初始值的final static基本類型的命名方式爲VAL_THR
  5. final static數據類型不可以通過創建第二個對象而改變,縱使對象爲隨機方法
  6. final允許空白聲明,在使用前必須初始化並賦值

final方法

使用原因

  1. 鎖定方法,防止繼承類修改含義。
  2. 確保在繼承中使方法行爲保存不變,並且不被覆蓋。
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
    }
}

finalprivate關鍵字

Java默認情況下,將private關鍵字都指定爲final。由於無法取用,也就無法更改。
當試圖覆蓋private類型時,只不過生成了一個新的方法。

final類

使用目的

當不打算類被繼承,也不允許別人這樣使用,使用final來修飾類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章