我已经在互联网上拖网寻求解决方案,但我仍然不明白为什么会收到以下错误消息:
“错误:在DrumKit类中找不到主要方法,请定义主要方法
方法为:public static void main(String [] args)或JavaFX
应用程序类必须扩展javafx.application.Application”
这是我的代码:
DrumKit.java
class DrumKit {
boolean topHat = true;
boolean snare = true;
void playTopHat() {
System.out.println("ding ding da-ding");
}
void playSnare() {
System.out.println("bang bang ba-bang");
}
}
DrumKitTestDrive.java
class DrumKitTestDrive {
public static void main(String [] args) {
DrumKit d = new DrumKit();
d.playSnare();
d.snare = false;
d.playTopHat();
if (d.snare == true) {
d.playSnare();
}
}
}
我正在使用InteliJ,并输入命令
javac DrumKitTestDrive.java
,然后输入java DrumKit.
这是来自Head First Java系列的一个练习,而我的答案与本书中的答案完全相同。但是我仍然遇到这个错误。
最佳答案
main
方法在DrumKitTestDrive.java中,而不在DrumKit.java中。因此,您必须键入java DrumKitTestDrive
才能运行该程序。
请注意,与其他答案相反,具有main
的类为public
绝对不是强制性的。但是,main
方法必须为public
。请参阅Java语言规范的chapter 12。顺便说一下,在JLS的大多数示例中,类没有修饰符。 this answer已解决此问题。