条目3:单例模式构造实例
使用私有构造器或枚举类型强化Singleton属性
1.静态域属性
public class Elvis {
public static Elvis INSTANCE = new Elvis();
//私有构造器
private Elvis(){}
public void leaveTheBuilding() {
System.out.println("Whoa baby, I'm outta here!");
}
public static void main(String[] args) {
Elvis elvis = Elvis.INSTANCE;
elvis.leaveTheBuilding();
}
}
2.静态工厂方法返回单实例
public class Elvis {
private static Elvis INSTANCE = new Elvis();
private Elvis(){}
public static Elvis getInstance(){
return Elvis.INSTANCE;
}
public void leaveTheBuilding() {
System.out.println("Whoa baby, I'm outta here!");
}
public static void main(String[] args) {
Elvis elvis = Elvis.getInstance();
elvis.leaveTheBuilding();
}
}
3.编写包含单个元素的枚举类型
public enum Elvis {
INSTANCE;
public void leaveTheBuilding() {
System.out.println("Whoa baby, I'm outta here!");
}
public static void main(String[] args) {
Elvis elvis = Elvis.INSTANCE;
elvis.leaveTheBuilding();
}
}

浙公网安备 33010602011771号