单例模式--静态内部类

来源:互联网 发布:淘宝客采集群怎么盈利 编辑:程序博客网 时间:2024/05/18 14:44

静态内部类是一个很好的实现单例的方式:


看代码:

package cn.liz.syn;public class StaticInner {// 私有化 构造器private StaticInner(){}// 私有的静态内部类 private static class Inner{static StaticInner single = new StaticInner(); }// 公共的 获取实例的方法public static StaticInner getInstance(){return Inner.single;}}

测试:


总结:

静态内部类如何保证单例的呢?

和饿汉式类似,通过static保证在只在类加载的时候加载一次,也就是全局只有一份。

另外,如果不调用获取对象的方法,类就不会被加载,也就不会在每次外部类使用的时候就创建外部类对象,实现了懒加载。

另外。枚举中的属性因为都是该类的一个实例,因此配合枚举也是一个实现单例的很好的方法。

原创粉丝点击