gpt4 book ai didi

java - 如何解决错误 : "MyClass.INSTANCE" is not a statement when I try to instantiate a singleton class in Java?

转载 作者:行者123 更新时间:2023-11-29 04:14:27 25 4
gpt4 key购买 nike

我有一个 Java Singleton 类:

public enum MyClass{
INSTANCE;

private MyClass(){
init();
}

private static void init(){
System.out.println("Singleton Class initiated");
}
}

当我尝试通过以下方式实例化类时:

MyClass.INSTANCE;

我得到一个错误,它不是一个语句。

但是,下面的代码并不适合生产代码:

System.out.println(MyClass.INSTANCE);

有没有办法正确启动枚举单例类,而不调用该类的任何其他虚拟 API?

最佳答案

仅声明类(或您的情况下的枚举)不是有效的 Java 语句。

您可以按照@Lorelorelore 的建议创建一个对象

MyClass instance = MyClass.INSTANCE;

或者如果你想调用 init() 可能改变它的签名

public void init(){
System.out.println("Singleton Class initiated");
}

然后直接调用方法:

MyClass.INSTANCE.init();

关于java - 如何解决错误 : "MyClass.INSTANCE" is not a statement when I try to instantiate a singleton class in Java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53261534/

25 4 0
文章推荐: java - Java中的静态final方法
文章推荐: java - Maven 原型(prototype) : org. apache.maven.plugins :maven-surefire-plugin:2. 20.1 :test failed. : NullPointerException
文章推荐: java - 在 Java 中,List 与 List< 有何不同?扩展对象>?
文章推荐: 值跳跃的Java for循环