zoukankan      html  css  js  c++  java
  • Effective Java 之 --- 用私有构造器或者枚举类型强化Singleton属性

    Singleton指仅仅被实例化一次的类,通常用来代表那些本质上唯一的系统组件,实现Singleton有三种方法:

    1)公有静态成员是个final域,享有特权的用户可以调用AccessibleObject.setAccessible方法,通过反射机制调用私有构造器。

    public class User{
      public static final User INSTANCE = new User();
      private User{
      }
      public void doSomeThing(){...}
    }
    

    2)公有静态成员是个静态工厂方法

    public class User{
        public static final User INSTANCE = new User();
        private User{
        }
        public static User getInstance(){
             return INSTANCE;
        }
        public void doSomeThing(){...}
    }
    

    3)单个元素的枚举类型

    public enum User{
        INSTANCE;
        public void doSomeThing(){...}
    }
    

     

  • 相关阅读:
    第一阶段冲刺02
    梦断代码阅读笔记01
    第一阶段冲刺01
    第十周总结报告
    单词统计
    用户模板分析
    第九周总结
    第九周课后作业
    py_11_ 0726
    Day_01
  • 原文地址:https://www.cnblogs.com/hunterCecil/p/5563275.html
Copyright © 2011-2022 走看看