一、用途

当需要类只有一个实例时使用

二、要素

  • Singleton 类:在每次用户需要时,返回类中存储的唯一实例。
  • 私有构造方法:防止用户在外部创建类实例。
  • 静态工厂方法:由用户调用来返回类中存储的实例。

三、优缺点

  • 减少内存开销,避免资源浪费
  • 没有接口,不能继承

四、变体

  • 懒汉式:在第一次使用时才生成实例。
  • 饿汉式:在使用前已经在类内部生成实例。
  • 枚举式:在枚举类中只有一个枚举实例。