论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()就可以获得了。

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