在Java中实现接口并覆盖方法?
|
为什么必须重写接口的所有方法?
例如,如果我有
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) {
}
}
我将有很多我什至不会使用的方法,有没有一种方法可以删除未使用的已实现方法,例如,如果我计划从界面中使用一种方法
我也不想使用抽象,因为这意味着我无法创建对象的实例(至少我的编译器这样说)
没有找到相关结果
已邀请:
6 个回复
赣借
,则可以扩展
。它为ѭ3实现了空方法,以避免将其写出。您可以在
类的内部使用匿名类,如下所示:
骨酚柯
浅镁
青董据零
类的用途:它实现接口的所有方法(但任何实现都不做任何事情)。由于不能扩展两个类,因此应该为侦听器使用内部类(无论如何,这都是更简洁的设计):
版萍层分
和
方法的
接口,而您只想实现
,那么生成的类是否真的可以被需要ICalculator的另一个项目使用? 但是,我很理解您对于在当今的框架中实现某些接口的不满,因为它们明显违反了接口隔离原则。这意味着某些接口是多种功能的集合,可以一起使用以完成一些有用的操作。例如。如果使用ICalculator接口,而不仅仅是基本的
,
等方法,我开始添加like14ѭ之类的方法,这些方法对于
对象的本质而言不是必需的。 底线是的,您必须实现接口的每个成员,但是,如果您确定并知道其中的某些成员将永远不会被使用,请随时将它们留空,甚至更好,它们会引发异常,因此您将确保永远不会真正意味着永远不会。
嘘崇蔡对