"方法main不能声明为static;静态方法只能在静态或顶级类型中声明"

Lot*_*tix 2 java static program-entry-point compilation

class Perkusja {
  boolean talerze = true;
  boolean beben = true;

  void zagrajNaBebnie() {
    System.out.println("bam, bam, baaaa-am-am");
  }
  void zagrajNaTalerzach() {
    System.out.println("brzd?k, brzbrzrzd??k");
  }
  class PerkusjaTester {
    public static void main(String[] args) {
        Perkusja p = new Perkusja();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

}

你好!我是stackoverflow的新手,所以请原谅我糟糕的编辑.

我是Java的新手,我无法弄清问题到底在哪里以及问题是什么.我在行上收到以下错误 public static void main(String[]args):

方法main不能声明为static; 静态方法只能在静态或顶级类型中声明

我正在使用eclipse,我正在做一些简单的java练习.我搜索了问题,但答案通常与更复杂的代码相关.

我如何解决它以及导致以下错误的原因是什么?我很感激对这个特殊例子的解释.

干杯!

Arn*_*lle 6

你声明你的主要方法PerkusjaTester是一个内部类Perkusja.那是被禁止的.

您应该在课堂外声明您的测试类 Perkusja

注意:PerkusjaTester是内部类,而不是静态嵌套类.这就是为什么PerkusjaTester不是静态类型.正如Jon Skeet所提到的,您还可以static在课堂上添加关键字PerkusjaTester.