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(){...}
    }
    

     

  • 相关阅读:
    SqlServer 格式化时间
    工作生活两三事
    前端面试题准备 3
    前端面试题准备 2
    MYSQL---自定义函数
    MYSQL---MD5()、PASSWORD()函数
    MYSQL---DATE_ADD()
    MYSQL---%
    MYSQL---多表删除
    MYSQL---CREATE...SELECT
  • 原文地址:https://www.cnblogs.com/hunterCecil/p/5563275.html
Copyright © 2011-2022 走看看