温馨提示×

在匿名内部类中如何实现单例模式

小樊
96
2024-09-02 22:52:46
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Java中,要在匿名内部类中实现单例模式,可以使用静态初始化器和双重检查锁定(Double-Checked Locking)。这里是一个示例:

public class Singleton {
    private static volatile Singleton instance;

    private Singleton() {
        // 私有构造函数,防止外部实例化
    }

    public static Singleton getInstance() {
        if (instance == null) {
            synchronized (Singleton.class) {
                if (instance == null) {
                    instance = new Singleton() {
                        // 匿名内部类实现
                    };
                }
            }
        }
        return instance;
    }
}

在这个示例中,我们使用了双重检查锁定来确保getInstance()方法的线程安全。当第一次调用getInstance()时,会创建一个匿名内部类实例并将其赋值给instance变量。后续的调用将直接返回已创建的实例。

注意,我们使用了volatile关键字来修饰instance变量,以确保多线程环境下的正确性。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读:java静态内部类单例模式如何实现

0