这是一个使用私有构造函数和静态代码块实现单例模式的示例代码。GM 类的构造方法是私有的,无法从外部直接调用,只能在类内部初始化。

静态代码块中创建了一个 GM 类实例,并将其赋值给静态变量 me。由于构造方法是私有的,外部只能通过静态变量 me 获取 GM 类的实例。这保证了在整个应用程序中只有一个 GM 类实例。

public class GM {
    private GM() {
        init();
    }

    public static final GM me;

    static {
        me = new GM();
    }
}

代码解释:

  1. 私有构造方法: private GM() 确保了外部无法直接创建 GM 类的实例。
  2. 静态变量: public static final GM me 定义了一个静态变量 me,用于存储唯一的 GM 类实例。
  3. 静态代码块: static { me = new GM(); } 在类加载时执行,创建 GM 类的实例并赋值给 me
  4. 获取实例: 通过 GM.me 获取唯一的 GM 类实例。

单例模式的应用场景:

单例模式适用于以下场景:

  • 需要保证一个类只有一个实例,例如日志记录器、数据库连接池、配置管理器等。
  • 需要控制对实例的访问,例如配置文件、线程池等。
  • 需要在整个应用程序中共享数据,例如全局缓存、用户配置等。
Java 单例模式实现:GM 类

原文地址: https://www.cveoy.top/t/topic/oZHZ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录