如果我有界面:
public interface Val {
public NilVal NIL;
}
和一个实现它的单例类:
public class NilVal implements Val {
private static NilVal nil = null;
private NilVal() {
}
public static NilVal getInstance(){
if(nil == null)
nil = new NilVal();
return nil;
}
}
如何将NIL实例化为接口中的NilVal对象?
答案 0 :(得分:1)
你可以
public interface Val {
Val NIL = NilVal.getInstance();
}
但是你也可以做
public interface Val {
Val NIL = new NilVal();
class NilVal implements Val {
private NilVal() { }
}
}
甚至
public interface Val {
Val NIL = NilVal.NIL;
public enum NilVal implements Val { NIL }
}