设计模式之单例模式

单例模式(Singleton)

定义:

保证一个类只有一个实例,并提供一个访问它的全局访问点。

特点:

只有一个实例,有懒汉式和饿汉式。

示例:

懒汉式

实例对象在首次被引用时,才实例化;

/**
 * 单例模式测试类:懒汉模式
 */
public class SingletonTest1 {
    private static SingletonTest1 test1;

    private SingletonTest1() {

    }

    //在引用时再判断创建实例对象
    public static synchronized SingletonTest1 getInstance() {
        if (test1 == null) {
            test1 = new SingletonTest1();
        }
        return test1;
    }
}

饿汉式

类加载时便实例

/**
 * 单例模式饿汉式,
 */
public class SingletonTest2 {
    //类加载时便创建实例
    private static final SingletonTest2 test2 = new SingletonTest2();

    private SingletonTest2() {

    }

    public static SingletonTest2 getInstance() {
        return test2;
    }
}

 

你可能感兴趣的:(设计模式)