当我尝试在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中的方法。

08-17 19:23