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();
}
}
}
您好!我是stackoverflow的新手,所以请原谅我糟糕的编辑。
我是Java的新手,我无法弄清问题到底在哪里以及问题是什么。
我在线上得到以下错误
public static void main(String[]args)
:
方法main不能声明为static;静态方法只能在静态或顶级类型中声明
我正在使用eclipse,我正在做一些简单的java练习。我搜索了问题,但答案通常与更复杂的代码相关。
如何修复它以及导致以下错误的原因是什么?我很感激对这个特殊例子的解释。
干杯!
答案 0 :(得分:6)
您在PerkusjaTester
声明了主要方法,这是Perkusja
的内部类。那是被禁止的。
您应该在课程Perkusja
注意:PerkusjaTester
是内部类,而不是静态嵌套类。这就是PerkusjaTester
不是静态类型的原因。正如Jon Skeet所提到的,您还可以在类static
上添加关键字PerkusjaTester
。
答案 1 :(得分:2)
此代码无法工作,因为从概念上讲,Perkusja
的实例必须在调用main
之前声明。
这是因为内部班级PerkusjaTester
不标记为静态。
最好的解决方法是写static class PerkusjaTester {
。
然后可以访问main
。
答案 2 :(得分:0)
PerkusjaTester
中的main方法是Perkusja
的内部类,这是被禁止的。考虑到您是这个新手,我可以提供的简单答案是,删除最后一个花括号并将其放在class PerkusjaTester
上方,该错误将被删除。