删除未实现的方法

Bul*_*aza 0 java eclipse interface

当我实现一个接口时Eclipse告诉我添加所有实现的方法.

由于并非所有这些都是通常需要的,有没有办法删除从接口继承的方法而不是空体?让这个无用的代码浮出水面让我感到困扰.

一个很好的例子是KeyListener界面.

jTextComponent.addKeyListener(new KeyListener()
{
    @Override
    public void keyTyped(KeyEvent e)
    {
    }

    @Override
    public void keyPressed(KeyEvent pressedEvent)
    {
         System.out.println("Pressed!");
    }

    @Override
    public void keyReleased(KeyEvent arg0)
    {
    }
});
Run Code Online (Sandbox Code Playgroud)

我想写下面或类似的:

jTextComponent.addKeyListener(new KeyListener()
{
    @Override
    public void keyPressed(KeyEvent pressedEvent)
    {
         System.out.println("Pressed!");
    }
});
Run Code Online (Sandbox Code Playgroud)

有没有办法说所有未实现的方法都是自动为空或者某些东西而不是将它们放入代码中?

use*_*751 5

任何界面都无法做到这一点.

但是,在这种特殊情况下(有KeyListener),有一个类KeyAdapter使用空体实现所有方法,因此您可以这样做:

jTextComponent.addKeyListener(new KeyAdapter()
{
    @Override
    public void keyPressed(KeyEvent pressedEvent)
    {
         System.out.println("Pressed!");
    }
});
Run Code Online (Sandbox Code Playgroud)

如果你很好奇,KeyAdapter基本上是这样的:

public class KeyAdapter implements KeyListener
{
    @Override
    public void keyTyped(KeyEvent e)
    {
    }

    @Override
    public void keyPressed(KeyEvent pressedEvent)
    {
    }

    @Override
    public void keyReleased(KeyEvent arg0)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)