gpt4 book ai didi

java - 尝试更改类名时出错

转载 作者:行者123 更新时间:2023-11-29 09:46:41 24 4
gpt4 key购买 nike

class HelloObject {
void speak() {
System.out.println("Hello (from object)!");
}
}
class HelloTester {
public static void main(String[] args) {
HelloObject object = new HelloObject();
object.speak();
}
}

当我将“HelloTester”类名更改为“HelloTester2”之类的名称时,程序突然可以运行了。该类文件称为 ClassesBegin.java。

为什么当我尝试更改类的名称时,java 程序无法运行?

编辑:对不起,我应该澄清更多。我将类名更改为 HelloTestera,这是我得到的错误:线程“main”中的异常 java.lang.NoClassDefFoundError: HelloTester但即使文件名与类名无关,它也能工作。当文件名为 ClassesBegin.java 时,它与 HelloTester 一起工作

最佳答案

您需要更改文件名,而不仅仅是类名。

在 Java 中,.java 和 .class 名称必须与类名称相同。

因此,每个类都必须使用其名称转到一个单独的文件,以便创建一个单独的 .class 文件。

将两个不同的类放在同一个文件中是 C++ 的做法,适用于其编译模型,不适用于 Java。

编辑:用户最终澄清了是什么导致了他的错误,所以显然我在这里的回答是不相关的。以上均适用于公开课。尽管我不得不说我认为这是一种可怕的做法,但您可以将其用于包级类。如果您要让包中的多个类使用某些东西,请给它自己的文件。如果它只被一个类使用,让它成为一个内部类...

关于java - 尝试更改类名时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/551838/

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