Java 单例模式实现:代码示例及详解
单例模式是一种设计模式,用于确保类只有一个实例,并提供全局访问点。
以下是一个 Java 实现的单例模式示例:
public class Singleton {
private static Singleton instance;
// 私有构造函数,防止外部实例化
private Singleton() {}
// 获取单例实例的静态方法
public static Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
在这个示例中,有一个私有构造函数和一个静态的 getInstance() 方法。getInstance() 方法返回一个 Singleton 类型的对象,并确保只有一个实例被实例化。如果 instance 变量为 null,则创建一个新的 Singleton 对象并将其分配给 instance。在任何情况下,getInstance() 方法都会返回 instance 变量的值。
该示例使用了懒加载,即只有在第一次调用 getInstance() 方法时才会创建 Singleton 实例。这有助于提高性能,因为只有在需要时才会创建对象。如果不使用懒加载,则在类加载时就会创建 Singleton 实例。
请注意,该示例还实现了线程安全,因为 getInstance() 方法是同步的。这意味着在多线程环境下,只有一个线程可以访问 getInstance() 方法,从而确保只有一个实例被创建。
要使用该示例,只需调用 Singleton.getInstance() 方法即可获取单例对象。例如:
Singleton singleton = Singleton.getInstance();
这将返回 Singleton 类的唯一实例。
原文地址: https://www.cveoy.top/t/topic/nPjF 著作权归作者所有。请勿转载和采集!