码迷,mamicode.com
首页 > 编程语言 > 详细

Java单例模式的写法

时间:2016-01-20 17:27:08      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

写过很多单例模式实现,今天贴一个书中的写法。
单例模式定义:一种设计模式,在只需要为类创建一个实例的时候使用。
要求:只能有一种创建实例的方式,同时不能获得处于未初始化状态的对象引用。
因此在单例模式中,需要有一个声明为private的构造方法,而且只调用一次。

package oop;

/**
 * 单例模式
 * 
 * @author lunatictwo
 */
public class Singleton {

    private final static Singleton instance = new Singleton();
    private static boolean isInit = false;

    // 构造方法,只在初始化instance时才调用构造方法
    private Singleton() {
        super();
    }

    private void init() {
        // 初始化方法放在私有方法中
    }

    // 通过静态辅助方法获得实例
    public static synchronized Singleton getInstance() {
        if (isInit) {
            return instance;// 判断是否激活
        }
        instance.init();// 激活实例,并保存状态为已激活,下次请求创建实例时不会再次初始化
        isInit = true;
        return instance;
    }

}

此时在获取单例实例的时候,只能通过getInstance() 获取。

Java单例模式的写法

标签:

原文地址:http://blog.csdn.net/tryitboy/article/details/50549384

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!