23 final關鍵字(完結器)

23 final關鍵字(完結器)

本質

不可以被修改--------定義的都是最終版本

//記住final和abstract是死對頭,不能同時出現在一個類或一個方法上

常規用法

1.修飾類(無法被繼承)

final class A{

}
//類A不能被繼承

2.在類中修飾屬性(常量)

class A{
    public final String NAME="張三";
    //被final的屬性都稱爲常量,無static叫局部常量,有static的叫全局常量
}

3.在類中修飾方法(不能被重寫)

class B{
   public final void print(){
      System.out.println("final關鍵字與abstract關鍵字具有互斥性")
   }
}

回想abstract特點

所以abstract與final不能同時修飾方法,典型錯誤如下所示:

4.在類中與static搭配修飾屬性(全局常量)

class C{
   public static final String NAME="張三";
  //好處在於類c的NAME可以直接通過類名.常量名調用,而之前類A中的NAME不行
}

典型體現

Math類(不允許被繼承)

Math中的常量希望能通過類名.常量名的形式調用

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