java - 在 Java 中实现一个接口(interface)并覆盖方法?

标签 java interface implements

为什么要覆盖接口(interface)的所有方法?

例如如果我有

public class Foo extend JFrame implements ActionListener, KeyListener {
      foo(){
      }
    @Override
    public void keyPressed(KeyEvent arg) {          
    }

    @Override
    public void keyReleased(KeyEvent arg) {
}

    @Override
    public void keyTyped(KeyEvent arg) {        
    }
}

我将有很多我什至不会使用的方法,有没有办法删除未使用的已实现方法,例如,如果我打算使用接口(interface)中的一个方法

我也不想使用抽象,因为这意味着我无法创建对象的实例(至少我的编译器是这样说的)

最佳答案

具体类必须始终实现接口(interface)的所有方法。如果您尚未扩展 JFrame,则可以扩展 KeyAdapter。它为 KeyListener 实现空方法以避免将它们写出。您可以在 Foo 类中使用匿名类,如下所示:

addKeyListener(new KeyAdapter() {
    public void keyTyped(KeyEvent e) {
        // handle typed key here
    }
});

关于java - 在 Java 中实现一个接口(interface)并覆盖方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5647800/

相关文章:

go - 无效操作 : a > b (operator > not defined on interface)

go - resp.Body 的内容存储在哪里?

java - 实现一个也被覆盖的方法

具有多个具有不同签名的实现类的java接口(interface)

java - 如何使用 JAXB 编写多个 XML 根元素

Spring 3 DI 使用通用 DAO 接口(interface)

java - 为什么我无法将 SuperType 添加到 <T extends SuperType> 的 List<T> 中?

java - Java 中的 "implements Runnable"与 "extends Thread"

java - 矩形的交集java

java - 为什么有些 double 除法在java操作中是正确的?