不是抽象的,不会覆盖抽象方法actionPerforme

时间:2016-04-27 04:45:06

标签: java

MainDemo不是抽象的,并且不会覆盖ActionListener中的抽象方法actionPerforme(ActionEvent)

我不知道为什么每次编译都会出现这个错误,虽然我覆盖了方法(ActionPerformed),那么解决方案是什么?

private void ActionPerformed(ActionEvent evt)throws ClassNotFoundException,   IOException {  
    user.importEvent(jTextField1.getText());

  }  

2 个答案:

答案 0 :(得分:2)

您的代码不完整,但如果您指的是actionPerformed界面的ActionListener(swing),则不会覆盖它。

重写方法意味着在相应的接口或超类中使用该方法的相同签名定义/重新定义方法。此方法的名称也必须相同。 (java中的区分大小写的规则)

因此,如果您要覆盖actionListener(ActionEvent e),您的方法应如下所示:

public void actionPerformed(ActionEvent e){
    ...
}

覆盖的另一个规则是您无法减少方法的访问修饰符。因此,如果方法的原始访问修饰符为protected,则只能增加对public之类的访问权限。此处原始访问修饰符为public,因此您只能使用public进行定义,并且不接受private

答案 1 :(得分:1)

方法名称在Java中区分大小写。您尝试覆盖的方法是{% for instance in object %} <h1>{{ instance.id }}</h1> <ul> {% for key, value in instance.items %} <li><b>{{ key }}:</b> {{ value }}</li> {% endfor %} </ul> {% endfor %} ,而不是actionPerformed

此外,为了使签名与界面保持一致,它必须是ActionPerformed,并且它不能抛出已检查的异常。