Joshua Bloch说使用枚举是实现单身人士的最佳方式:
app.get('/', function(req, res) {
var screenNum = req.param('screen');
res.send(screenNum);
});
然而,枚举不能public enum Elvis {
INSTANCE;
void someMethod(){
// implementation
}
}
所以我想我必须避免使用这种方法,或者有办法吗?
答案 0 :(得分:2)
由于枚举只是一个类,你可以让它包含你想要的任何东西(包括你想要的"扩展"类的单个实例)并公开它。你可以用枚举来控制任何东西的单身性质。
public enum Elvis {
INSTANCE;
private Object wrappedObject = new Object();
public Object wrappedObject(){ return wrappedObject; }
public static void main(String args[]){
Object sortaSingledton = INSTANCE.wrappedObject();//there still can be only one
}
}