枚举

枚举应用实例

代码演示

package com.atguigu.principle.singleton.type08;

/**
*/
public class SingletonTest08 {

   public static void main(String[] args) {
       Singleton instance = Singleton.INSTANCE;
       Singleton instance2 = Singleton.INSTANCE;
       System.out.println(instance == instance2);
       System.out.println(instance.hashCode());
       System.out.println(instance2.hashCode());

       instance.sayOK();
   }

}

// 使用枚举 ,可以实现单例, 推荐使用
enum Singleton{
   INSTANCE;
   public void sayOK() {
       System.out.println("ok~");
   }
}

优缺点说明:

  1. 这借助jdk1.5天假的枚举来实现单例模式. 不仅能够避免多线程同步问题,而且还能够防止反序列化重新创建新的对象

  2. 这种方式 是 Effective Java 作者 Josh Bloch 提倡的方式

  3. 结论: 推荐使用

更多

参考:你知道吗?枚举单例模式是世界上最好的单例模式!!!

天马行空

如果不考虑前轮打滑,前驱是最好的驱动形式

如果不考虑钢带打滑,CVT是最好的变速箱