java 完美的单例模式

来源:互联网 发布:head first java 翻译 编辑:程序博客网 时间:2024/06/17 14:23

利用的是内部类配合枚举实现的单例模式:
优点:

  • 枚举实现的单例模式,不但可以防止利用反射强行构建单例对象,而且可以防止枚举类对象被反序列化的时候,保证反序列对象返回的结果是同一对象;
  • 利用内部类可以实现懒加载,从外部无法访问MyEnumSingle,只有当调用
  • 这种方式是线程安全的。
    MySingleton.MyEnumSingle.INSTANCE.getInstance() 才能得到单例对象。
/** * 最完美的单例模式 * @author Administrator * */public class MySingleton {    private enum MyEnumSingle{        INSTANCE;        private MySingleton singleOne;        private MyEnumSingle(){            System.out.println("初始化单例");            singleOne = new MySingleton();        }        public MySingleton getInstance(){            return singleOne;        }    }    private MySingleton(){}    public static MySingleton getInstance(){        return MyEnumSingle.INSTANCE.getInstance();    }}
原创粉丝点击