美文网首页
Java 使用 Enum 实现单例模式

Java 使用 Enum 实现单例模式

作者: 帅气的名称被占用 | 来源:发表于2019-08-10 11:21 被阅读0次

    枚举,如果涉及到反序列化创建对象时推荐使用枚举的方式来实现单例,因为Enum能防止反序列化时重新创建新的对象。本文介绍 Enum 的使用方式。

    public enum SingletonEnum{
        INSTANCE;
    }
    

    通过SingletonEnum.INSTANCE来访问实例,使用方式很简单. 然而就这么简单的话也没有更多意义,具体的使用方式如下

    public enum SingletonEnum {
       INSTANCE;
       int value;
     // 这里我们可以自定义构造函数.
       private SingletonEnum() { 
          value = 1; 
          System.out.println("INSTANCE now created!"); 
        } 
        public int getValue() { 
          return value;
        }
       public void setValue(int value) { 
          this.value = value;
       } 
    }
    

    调用:

    System.out.println("start get instance!"); SingletonEnum singleton = SingletonEnum.INSTANCE; System.out.println(singleton.getValue()); singleton.setValue(2); System.out.println(singleton.getValue());
    

    相关文章

      网友评论

          本文标题:Java 使用 Enum 实现单例模式

          本文链接:https://www.haomeiwen.com/subject/xwgljctx.html