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

avatar
作者
猴君
阅读量: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变量,以确保多线程环境下的正确性。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!