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();
}
}
}
你好!我是堆栈溢出的新手,所以请原谅我的残暴编辑。
我是Java的新手,我无法弄清楚问题到底在哪里以及问题是什么。我收到以下错误 public static void main(String[]args)
:
方法main 不能声明为静态;静态方法只能在静态或顶级类型中声明
我正在使用 eclipse,并且正在做一些简单的 Java 练习。我用谷歌搜索了这个问题,但答案通常与更复杂的代码段有关。
如何修复它,以下错误的原因是什么?如果能对这个特定示例进行解释,我将不胜感激。
干杯!
您正在声明您的 main 方法,PerkusjaTester
这是一个 Perkusja
的内部类。这是被禁止的。
Perkusja
之外声明您的测试类
注意:PerkusjaTester
是一个内部类,而不是一个静态嵌套类。这就是为什么PerkusjaTester
不是静态类型的原因。正如Jon Skeet所提到的,您还可以在类PerkusjaTester
上添加关键字static
。
此代码不起作用,因为从概念上讲,必须在调用main
之前声明Perkusja
的实例。
这是因为内部类PerkusjaTester
未标记为静态。
最适合您的解决方法是编写 static class PerkusjaTester {
.
然后main
可以访问。
PerkusjaTester
中的主要方法是禁止的内部类Perkusja
。考虑到您是新手,我可以给出的简单答案是,删除最后一个大括号并将其放在class PerkusjaTester
上方,错误将被删除。