首页 > 其他 > 详细

【单例模式】

时间:2017-07-05 11:10:34      阅读:253      评论:0      收藏:0      [点我收藏+]
package com.mafangshan.designpattern.singletonpattern;

/**
 * @Description
 * @Author Created by shusheng.
 * @Email shusheng@yiji.com
 * @Date 2017-07-03
 */
public class Singleton {

    public static void main(String[] args)
    {
        //创建SingletonPattern对象不能通过构造器,只能通过getInstance方法
        Singleton s1 = Singleton.getSingleton();
        Singleton s2 = Singleton.getSingleton();
        //将输出true
        System.out.println(s1 == s2);
    }
    //使用一个变量来缓存曾经创建的实例
    private static Singleton singleton;
    //将构造器使用private修饰,隐藏该构造器
    private Singleton(){
        System.out.println("Singleton被构造!");
    }
    //提供一个静态方法,用于返回Singleton实例
    //该方法可以加入自定义的控制,保证只产生一个Singleton对象
    public static Singleton getSingleton()
    {
        //如果instance为null,表明还不曾创建Singleton对象
        //如果instance不为null,则表明已经创建了Singleton对象,将不会执行该方法
        if (singleton == null)
        {
            //创建一个Singleton对象,并将其缓存起来
            singleton = new Singleton();
        }
        return singleton;
    }

}

 

【单例模式】

原文:http://www.cnblogs.com/zuixinxian/p/7119804.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!