黑马程序员——单例设计模式

来源:互联网 发布:linux mint vs ubuntu 编辑:程序博客网 时间:2024/06/06 20:43

------- android培训、java培训、期待与您交流! ----------


单例设计模式

有时在设计类时只希望有一个对象,那么就可以采用此模式,具体步骤如下

——将类中的构造函数私有化

——定义私有静态本类变量

——定义公有静态方法返回本类对象


单例设计模式具体又分为懒汉式(类一进类存就创建对象)和饿汉式(延时加载),该模式避免其他程序过多建立该类对象

class Single{//懒汉式private  Single(){}private static final Single s = new Single();//final使其变为常量public static  Single getInstance(){return s;}}

class Single{//对象是方法被调用时,才初始化,也叫做对象的延时加载。——懒汉式。private static Single s = null;//一开始还没有对象private Single(){}public static Single getInstance()//只有调用了getInstance方法时,才建立对象{//多线程会有安全隐患if(s==null)//双重判断减少了判断次数{synchronized(Single.class)//加上了同步使之安全{if(s==null)s = new Single();}}return s;}}
P.S.

正常情况使用懒汉式;上例的饿汉式也可在getInstance方法上加同步使之成为同步函数,不过会较为低效~

0 0
原创粉丝点击