当我尝试在Java中调用一个名为“ ShowHistory”的类时,显示错误:“ ShowHistory类型必须实现继承的抽象方法ActionListener.actionPerformed(ActionEvent)”
这是我的代码:
public class ShowHistory extends JFrame implements ActionListener {
...
}
IDE建议我将此类设为抽象类,但是当我将其转换为抽象类时,另一段代码出错:
ShowHistory frame = new ShowHistory();
它显示:“无法实例化ShowHistory类型”。
有解决这个问题的主意吗?
最佳答案
ShowHistory类型必须实现继承的抽象方法ActionListener.actionPerformed(ActionEvent)
这意味着对于您的类ShowHistory
要实现ActionListener
,它必须实现接口定义的所有方法。在这种情况下,就是方法actionPerformed(ActionEvent)
。
public void actionPerformed(ActionEvent e) { ... }
当您将
ShowHistory
更改为abstract
时,便做到了不能实例化ShowHistory,并且它的子类(可能是实例化的,如果不是抽象的话)将负责定义ActionListener
中的方法。