gpt4 book ai didi

java - 为什么我会收到有关 Java 实用程序类的警告

转载 作者:IT老高 更新时间:2023-10-28 20:50:50 25 4
gpt4 key购买 nike

我正在学习 Java 和 OOPS,在 Eclipse 中编写基本的 Hello World 时,我看到一个黄色三角形告诉我'实用程序类不应该有公共(public)或默认构造函数'。我无法理解为什么会发生这种情况,这意味着什么?我做错了什么?

class HelloWorld {


public static void main(String[] args)
{
// TODO Auto-generated method stub
System.out.println("Hola Mundo!");

}


}

EDIT1:编辑代码以包含建议的更改。

final class HelloWorld {


private HelloWorld()
{
throw new AssertionError("Instantiating utility class...");

}
public static void main(String[] args)
{
// TODO Auto-generated method stub
System.out.println("Hola Mundo!");

}


}

仍然收到关于 Class HelloWorld 的警报。

编辑2:

创建了一个新类,现在它可以工作了。谢谢乔恩。为什么老类仍然发出警告?波西米亚人我仍然不知道您在帖子中提到的概念。一旦我有更好的主意,我会回到他们身边。谢谢你的解释。

最佳答案

表示有人会写:

HelloWorld helloWorld = new HelloWorld();

当您可能不希望他们这样做时 - 您没有提供任何实例成员,那么为什么要允许他们创建实例呢?将您的代码重写为:

final class HelloWorld {

private HelloWorld() {
// Prevent instantiation
// Optional: throw an exception e.g. AssertionError
// if this ever *is* called
}

public static void main(String[] args) {
System.out.println("Hola Mundo!");
}
}

关于java - 为什么我会收到有关 Java 实用程序类的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7766277/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com