在 java 中出现了一个非常奇怪的语法错误
Got a very strange syntax error in java
我的 java 程序中出现了一个非常奇怪的错误。
此代码没有显示错误:
buttonPlay.addListener(new ClickListener(){
public void clicked(InputEvent event, float x, float y) {
/*public GameScreen(Create create) {
this.create = create;
}*/
}
});
但是如果我删除注释,Eclipse
指出有两个错误:
我应该插入一个“}”来完成“public void的方法体
点击了。
我应该删除代码的最后一个“}”。
所以“public GameScreen(Create create)
”产生了问题,Eclipse
突然不知道块在哪里开始和结束(我认为)。
我对此真的没有任何解释,很高兴得到每一个答案。
在注释掉的代码未注释的情况下,您试图直接在方法中声明构造函数。你不能在 Java.
中这样做
// You can't do this
buttonPlay.addListener(new ClickListener(){ // 1
public void clicked(InputEvent event, float x, float y) { // 2
public GameScreen(Create create) { // 3
this.create = create; // 3
} // 3
}
});
实例化匿名class。这样就好了
正在实施那个匿名 class 的方法(您想在那里添加一个 @Override
)。也可以。
直接在另一个方法中声明构造函数。你不能那样做。
public void clicked(...)
是一个方法,在其中,您试图创建一个构造函数(至少这是注释代码的内容)。
构造函数是class特定的块,不能嵌套在方法中。这就是编译失败的原因。
我的 java 程序中出现了一个非常奇怪的错误。 此代码没有显示错误:
buttonPlay.addListener(new ClickListener(){
public void clicked(InputEvent event, float x, float y) {
/*public GameScreen(Create create) {
this.create = create;
}*/
}
});
但是如果我删除注释,Eclipse
指出有两个错误:
我应该插入一个“}”来完成“public void的方法体 点击了。
我应该删除代码的最后一个“}”。
所以“public GameScreen(Create create)
”产生了问题,Eclipse
突然不知道块在哪里开始和结束(我认为)。
我对此真的没有任何解释,很高兴得到每一个答案。
在注释掉的代码未注释的情况下,您试图直接在方法中声明构造函数。你不能在 Java.
中这样做// You can't do this
buttonPlay.addListener(new ClickListener(){ // 1
public void clicked(InputEvent event, float x, float y) { // 2
public GameScreen(Create create) { // 3
this.create = create; // 3
} // 3
}
});
实例化匿名class。这样就好了
正在实施那个匿名 class 的方法(您想在那里添加一个
@Override
)。也可以。直接在另一个方法中声明构造函数。你不能那样做。
public void clicked(...)
是一个方法,在其中,您试图创建一个构造函数(至少这是注释代码的内容)。
构造函数是class特定的块,不能嵌套在方法中。这就是编译失败的原因。