设计模式之单例模式

58 阅读1分钟

单例对象通常用来表示一个无状态的实例,如函数,或者本质上是唯一的系统组件。

公有静态成员的方式

public class Singleton {

    public static final Singleton INSTANCE = new Singleton();
    
    private Singleton(){}
}

静态工厂的方式

public class Singleton {

    public static final Singleton INSTANCE = new Singleton();
    
    private Singleton(){}
    
    public Singleton getInstance(){ return INSTANCE; }
}

这两种方式都是需要将构造方法私有化

枚举方式,可防止反序列化时再创建新的对象

public enum Singleton{
    INSTANCE
}