在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
变量,以确保多线程环境下的正确性。