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

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

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

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

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

能夠這樣實現:指針

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()就能夠得到了。日誌

相關文章
相關標籤/搜索