1. 程式人生 > 實用技巧 >final 和 static 的區別

final 和 static 的區別

final 和 static 的區別

目錄

修飾變數

  • final 修飾變量表示一旦給值,就不可修改, 需要通過new關鍵字建立實體類然後呼叫, 存入常量池不會被GC回收
  • static修飾變數, 可以不通過new關鍵字建立實體類,直接通過類名呼叫,存入到類資訊中不會被GC回收

修飾方法

  • final修飾方法, 表示該方法不能被重寫,但是可以被繼承,需要建立例項才能呼叫
  • static修飾方法,該方法能被重寫,也可以被繼承,不需要建立例項就可以呼叫

修改類

  • final修飾類, 表示該類不能有子類,例如String
  • static 修飾類只能是巢狀類,如果修飾類沒有static,就不能在類中建立類成員

修飾區域性變數

  • final修飾區域性變數,一般在區域性類中使用,表示該變數不會被GC回收

    * * .**(final int num)
    
  • static不能修飾區域性變數

修飾程式碼塊

  • final不能修飾程式碼塊
  • static修飾程式碼塊表示, 靜態程式碼塊