单例模式和枚举类

单例模式

原因:一个类只需要一个实例,且全局能访问到

步骤:

  1. 构造方法私有化
  2. 创建私有静态本类变量作为标记
  3. 编写静态方法 判断标记 获取唯一对象
  4. 提前准备好本类的引用 默认值为null 作为唯一对象的存储
  5. 编写静态方法 判断获取本类唯一的对象

image-horw.png

枚举类

就是为了解决单例模式只能有一个实例,但是又不想可以随便创建。

  1. 枚举类第一时间 必须排列枚举值

    image-hsxX.png

  2. 枚举类中所有构造方法都是私有的

    image-oWDI.png

  3. 所有枚举类 不再直接继承自Object 而是继承自Enum类(Enum类重写了toString方法,返回的是名字,所以有时需要重写toString)

    image-bfwG.png