首页 >Java >java教程 >Java 枚举中如何创建单例实例?

Java 枚举中如何创建单例实例?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-03 22:00:21622浏览

How are Singleton Instances Created in Java Enums?

在 Java 中使用枚举实现单例

值得注意的是,单例模式可以使用枚举在 Java 中实现,如以下代码:

public enum MySingleton {
     INSTANCE;   
}

但是,会出现有关实例化过程的问题。传统的对象实例化涉及调用构造函数,但在枚举中,这不是显式完成的。

实例化枚举

枚举有一个隐式的空构造函数。为了使其明确,您可以将其添加到枚举定义中:

public enum MySingleton {
    INSTANCE;
    private MySingleton() {
        System.out.println("Here");
    }
}

现在,如果您使用 main 方法创建一个类并实例化 Singleton 枚举:

public static void main(String[] args) {
    System.out.println(MySingleton.INSTANCE);
}

您将看到以下输出:

Here
INSTANCE

枚举字段本质上是枚举类型的实例。它们是在首次引用枚举类型时构造的。因此,当您访问 main 方法中的 INSTANCE 字段时,它会触发 MySingleton 的实例化及其构造函数运行,并在控制台上打印“Here”。

以上是Java 枚举中如何创建单例实例?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn