为什么要覆盖接口(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/