Java设计模式 - 单例模式

Java设计模式 - 单例模式

保证一个类仅有一个实例,并提供一个可以访问它的全局变量。

UML图示

Java设计模式 - 单例模式_第1张图片

实例

public class Singleton {
    private static Singleton singleton = new Singleton();

    private Singleton(){
        System.out.println("Creating a singleton object!");
    }
    public static Singleton getInstance(){
        return singleton;
    }
}

要点

1. 保证一个类仅有一个实例 - 使用private修饰所有的构造函数,确保只有本类可以访问。

2. 并提供一个可以访问它的全局变量 - 作为这个类唯一实例化的对象。同时提供一个静态方法返回这个对象,以确保这个对象的唯一。

一些背景知识

在另外的类调用Singleton.getInstance()方法时,由于Singleton.singleton是一个静态对象,在JVM加载类的时候就会初始化singleton对象,所以并不需要其他语句以确保singleton不为null。

你可能感兴趣的:(Data,Pattern)