单例模式(Singleton Pattern)

102 阅读1分钟

单例模式(Singleton Pattern)

单例模式(Singleton pattern)指的是一个类只有一个实例,且该类自行创捷这个实例的一种模式。它是通过提供一个单一的全局访问点来确保每个调用方法都获得相同的实例。

Java中的单例模式一般包含以下三个要素:

  1. 私有的构造函数,不允许外界直接调用。
  2. 静态的私有成员变量,在类中创建唯一的实例。
  3. 静态的公有方法,用于获取类中创建的唯一实例。

以下是一个Java单例模式的示例代码:

public class Singleton {
     private static Singleton instance = null;
     private Singleton() {
        // 私有构造函数,防止外部直接调用
    }
     public static Singleton getInstance() {
        // 静态的公有方法,用于获取类中创建的唯一实例
        if(instance == null) {
            instance = new Singleton();
        }
        return instance;
    }
     public void showMessage() {
        System.out.println("Hello World!");
    }
}

在上述代码中,使用private关键字将构造函数设置为私有,使得外部无法实例化该类。而在getInstance方法中,判断instance是否为null,如果是则创建唯一实例。最后,通过公有方法返回该实例。 可以通过以下代码来测试单例模式:

public class SingletonPatternDemo {
    public static void main(String[] args) {
        // 获取唯一可用的对象
        Singleton singleton = Singleton.getInstance();
         // 显示消息
        singleton.showMessage();
    }
}

输出结果:

Hello World!