使用私有构造方法(公开成员属性或者公开静态工厂方法)或者枚举类实现singleton

Posted tabctrlshift

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用私有构造方法(公开成员属性或者公开静态工厂方法)或者枚举类实现singleton相关的知识,希望对你有一定的参考价值。

// Singleton with public final field
public class Elvis {
    public static final Elvis INSTANCE = new Elvis();
    private Elvis() { ... }
    public void leaveTheBuilding() { ... }
}

123

// Singleton with static factory
public class Elvis {
    private static final Elvis INSTANCE = new Elvis();
    private Elvis() { ... }
    public static Elvis getInstance() { return INSTANCE; }

    public void leaveTheBuilding() { ... }
}

123

// Enum singleton - the preferred approach
public enum Elvis {
    INSTANCE;

    public void leaveTheBuilding() { ... }
}

 

以上是关于使用私有构造方法(公开成员属性或者公开静态工厂方法)或者枚举类实现singleton的主要内容,如果未能解决你的问题,请参考以下文章

详解Python对象属性

多个子类的继承操作(例文)

1-单例模式

单例模式

火山中文编程(PC) -- 变量与常量

在私有继承中公开构造函数