有人 習慣static final, 有人習慣final static,這只是個習慣而已。
然而java 中static final很容易濫用,一旦用錯會給調試、bug fix帶來大麻煩,很難找到問題所在。
本文關鍵字
java: static final
c :static extern
java final ---特點,保護對象,阻止改變
重要的地方放前面:
final 修飾的變量只能有效賦值一次(List,Map等容器類型除外),需要改變值的地方切記不要亂用。
final 意味終態,拒絕改變,可以修飾 類,方法,變量,參數(抽象的類,方法,變量除外,原因是與其宗旨違背)
final類不能被繼承,也就么有子類;
final方法不能被覆蓋,保護既有實現,提高效率
final變量只有一次賦值,
final參數保護其不被修改
java static ---特點,節省內存
重要的地方放前面:
static 修飾的變量和方法只有一個,獨立于該類的任何對象(List,Map等容器類型除外),多個對象時注意留意static變量值
static方法,static變量,可以在類對象創建之前訪問,無需引用任何對象。加上public 修飾就可以用類直接調用(不需要類對象)
static靜態塊 會在類加載時優先按順序執行
C static --特點,限制訪問權限
static 修飾全局變量,局部變量,方法
static方法限定作用域在本文件內,類似于java的private 方法
static全局變量只限制只在定義它的源文件內可以訪問, 存儲位置不變(.data段)
static局部變量存儲位置改變(.data段),生命周期變長(等同于程序),值會記錄(類似于java的static變量)