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