final 和 static 的區別
阿新 • • 發佈:2020-08-06
final 和 static 的區別
目錄
修飾變數
- final 修飾變量表示一旦給值,就不可修改, 需要通過
new
關鍵字建立實體類然後呼叫, 存入常量池不會被GC
回收 - static修飾變數, 可以不通過
new
關鍵字建立實體類,直接通過類名呼叫,存入到類資訊中不會被GC
回收
修飾方法
- final修飾方法, 表示該方法不能被重寫,但是可以被繼承,需要建立例項才能呼叫
- static修飾方法,該方法能被重寫,也可以被繼承,不需要建立例項就可以呼叫
修改類
- final修飾類, 表示該類不能有子類,例如
String
- static 修飾類只能是巢狀類,如果修飾類沒有static,就不能在類中建立類成員
修飾區域性變數
-
final修飾區域性變數,一般在區域性類中使用,表示該變數不會被
GC
回收* * .**(final int num)
-
static不能修飾區域性變數
修飾程式碼塊
- final不能修飾程式碼塊
- static修飾程式碼塊表示, 靜態程式碼塊