1. 程式人生 > >Java final static關鍵字

Java final static關鍵字

Java中的final關鍵字

  使用 final 關鍵字做標識有 “最終的” 含義。

final 可以修飾 類、方法、屬性、變數

  final 修飾類: 則該類不允許被繼承

  final 修飾方法:則該方法不允許被重寫

  final 修飾屬性

    則該類的屬性不會進行隱式的初始化 (類的初始化屬性必須有值)或在構造方法中賦值 (兩者選其一)

    修飾的屬性的初始化可以在編譯期,也可以在執行期,初始化後不能被改變

    修飾的屬性表明是一個常數(建立後不能被修改)

  final 修飾變數:則該變數的值只能賦值一次,即變數為常量

 

Java中的static關鍵字

  使用 static 關鍵字做標識有 “靜態” 含義。

static 可以修飾 屬性、方法、程式碼段、內部類(靜態內部類或巢狀內部類)

  static 修飾的屬性

    初始化在編譯期(類載入的時候),初始化後能被修改

    修飾的屬性所有物件都只有一個值

    修飾的屬性強調它們只有一個 

  static 修飾的屬性、方法、程式碼段跟該類的具體物件無關,不建立物件也能呼叫static修飾的屬性、方法等

  static 和“this、super”勢不兩立,static跟具體物件無關,而this、super正好跟具體物件有關

  static 不能修飾區域性變數

 

static final 和 final static

  static final 和 final static 沒有什麼區別,只是通常的書寫方式為 static寫在前面

static final

  static 修飾的屬性強調它們只有一個,final修飾的屬性表明是一個常數(建立後不能被修改);

  static final修飾的屬性表示一旦給值,就不可修改,並且可以通過類名訪問。

  static final也可以修飾方法,表示該方法不能被重寫,可以在不new物件的情況下呼叫。