软件设计模式 — 单例模式

单例模式确保某个类只有一个实例,而且自行实例化,并向整个系统提供者个实例,提供一个访问它的全局访问点。

核心是:创造私有的构造函数

例如:只有一个实例的东西。

Singleton.java

package singleton;
public class Singleton {
    private static final Singleton singleton = new Singleton();
    private Singleton() { // 限制产生多个对象
        System.out.println("已产生对象实例");
    }
    public static Singleton getInstance() { // 通过该方法获得实例对象
        return singleton;
    }
    public static void operation() { // 类中其他方法,尽量是static
    }
}

Client

package singleton;
public class Client {
    public static void main(String[] args) {
        System.out.println("Start.");
        Singleton obj1 = Singleton.getInstance();
        Singleton obj2 = Singleton.getInstance();
        if (obj1 == obj2) {
            System.out.println("obj1和obj2是同一对象实例");
        } else {
            System.out.println("obj1和obj2并非同一对象实例");
        }
        System.out.println("End.");
    }
}