用私有构造器或者枚举类型强化Singleton属性。
两种方法:
第一种:
public class Elvis{
public static final Elvis = new Elvis();
private Elvis() {}
public void leaveTheBuilding(){
}
}
第二种:
public class Elvis{
private static final INSTANCE = new Elvis();
private Elvis() {}
public static Elvis getInstance(){
return INSTANCE;
}
}
但是这样也很有危险,对象就一份,大家都用,就可能导致同步的问题了。