Hay*_*dos 2 java javafx anonymous-inner-class
我正在使用Intellij IDEA学习JavaFX.编译以下代码时:
public class Main extends Application implements EventHandler<ActionEvent>{
//More code
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello World");
}
//More code
});
Run Code Online (Sandbox Code Playgroud)
我收到错误消息"Class must either be declared abstract or implement abstract method".但通过观察代码,我显然是使用匿名内部类实现功能接口.
当我handle在Main类中构造一个空方法时,代码工作正常,但我不相信我应该这样做.到底是怎么回事!
原因是这一行:
public class Main extends Application implements EventHandler<ActionEvent>{
Run Code Online (Sandbox Code Playgroud)
删除implements EventHandler<ActionEvent>你,你很好.
您可能感到困惑,因为您已经使您的Main类实现了接口,并且您正在创建一个也实现接口的匿名内部类.这将为您提供一个已实现该方法的类 - 匿名内部类.但外部Main类没有实现该方法,这就是您收到错误消息的原因.
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |