論interfaces儲存常量,以及要注意的變量

用interface來存儲常量,這樣常量會在初始化的時候加載好,不能被改變。

public interface SystemKey {
    /** 日誌記錄的log*/
    Log log = LogUtil.get();
}

這樣子修飾變量的時候,log會自動加上 public static final。其實這裏傳遞的是傳指針(傳的是地址)佔用的空間很少。

這樣子變量就是常量了。log的值是不能改變的。要想改變可以用類來實現。

可以這樣實現:

public class SystemKey {
private Map<String, Object> keys;
static SystemKey key = new SystemKey();
private SystemKey(){
   update();
}
public static String getNodeID(){
    if(nodeId == null){
           update("local_default_nodeId");
    }
       return nodeID;
}
public static void update(){
   ............
}
}

要獲得nodeID的話就直接用SystemKey.getNodeID()就可以獲得了。

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