已复制
全屏展示
复制代码

Java单例模式完整示例

· 1 min read

下面是 Java 的单例模式示例

  • SingletonObject.java

public class SingletonObject {

    // 单列对象属性
    private final String name;
    private final String location;

    // 创建 SingletonObject 对象
    private static final SingletonObject instance = new SingletonObject();

    // 让构造函数为 private,这样该类就不会被实例化
    private SingletonObject() {
        name = "beijing university";
        location = "beijing";
    }

    // 获取唯一可用的对象
    public static SingletonObject getInstance() {
        return instance;
    }

    // 获取单列对象属性
    public void showMessage() {
        System.out.println("name = " + name);
        System.out.println("location = " + location);
    }

}
  • Main.java

public class Main {
    public static void main(String[] args) {

        // 编译时错误:构造函数 SingletonObject() 是不可见的
        // SingletonObject object = new SingletonObject();

        // 获取唯一可用的对象
        SingletonObject object1 = SingletonObject.getInstance();
        SingletonObject object2 = SingletonObject.getInstance();

        // 显示消息
        object1.showMessage();
        object2.showMessage();
    }
}

单例模式的Python实现请见

Python单例模式的六种实现
什么叫做单例模式,单例模式是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在,第一次创建实例时是真正的创建了一个实例,而后面创建的实例则是第一次创建的实例的一个引用,是同一个实例。单例模式多种实现,全局变量方式实现 class Singleton:
🔗

文章推荐