java单例模式

最近学习《Effective Java》
对于“强化singleton属性”
个人觉得其中的一些代码会有后用:

1,私有构造函数
// Singleton with final field 
public class Elvis {
    public static final Elvis INSTANCE = new Elvis();

    private Elvis() {
        // ...
    }

    // ...  // Remainder omitted

}


2,静态公有工厂。 在不该改变API的前提下,允许我们改变想法,把该类做成singleton,或者不做成singleton。静态工厂返回该类的唯一实例,但是他很容易修改。
// Singleton with static factory
public class Elvis {
    private static final Elvis INSTANCE = new Elvis();

    private Elvis() {
        // ...
    }

    public static Elvis getInstance() {
        return INSTANCE;
    }

}

你可能感兴趣的:(java)