条目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();
    }
}

 

posted @ 2015-05-04 15:28  克什米尔公子  阅读(69)  评论(0)    收藏  举报