我已经在互联网上拖网寻求解决方案,但我仍然不明白为什么会收到以下错误消息:


  “错误:在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已解决此问题。

10-07 19:23
查看更多