设计模式学习笔记(5)-单例模式

单例模式用于系统中只需要一个单例的时候。

实现要点:

1.创建一个Singleton的类,并将其构造函数设置成private.

2.创建一个Singleton的private static变量

3.创建一个getInstance()的publuc static方法,通过这个方法获取类的仅有的对象。

public class Singleton {
    private static Singleton singleton = null;
    private static final Object lock = new Object();
    private Singleton(){
        System.out.println("create instance");
    }
    public static Singleton getInstance() {
        if (singleton == null) {
            synchronized (lock) {
                if (singleton == null) {
                    singleton = new Singleton();
                }
            }
        }
        return singleton;
    }
}
public class Test {

    /**
     * @param args
     */
    public static void main(String[] args) {
        Singleton singleton1 = Singleton.getInstance();
        Singleton singleton2 = Singleton.getInstance();
        if (singleton1 == singleton1) {
            System.out.println("use singleton success");
        } else {
            System.out.println("use singleton fail");
        }

    }
}

 

 

posted @ 2013-12-15 20:11  adgkns  阅读(100)  评论(0编辑  收藏  举报