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