作者:qa32qw51 | 来源:互联网 | 2023-05-28 17:53
当我实现一个接口时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)
{
}
});
我想写下面或类似的:
jTextComponent.addKeyListener(new KeyListener()
{
@Override
public void keyPressed(KeyEvent pressedEvent)
{
System.out.println("Pressed!");
}
});
有没有办法说所有未实现的方法都是自动为空或者某些东西而不是将它们放入代码中?
1> user253751..:
任何界面都无法做到这一点.
但是,在这种特殊情况下(有KeyListener
),有一个类KeyAdapter
使用空体实现所有方法,因此您可以这样做:
jTextComponent.addKeyListener(new KeyAdapter()
{
@Override
public void keyPressed(KeyEvent pressedEvent)
{
System.out.println("Pressed!");
}
});
如果你很好奇,KeyAdapter
基本上是这样的:
public class KeyAdapter implements KeyListener
{
@Override
public void keyTyped(KeyEvent e)
{
}
@Override
public void keyPressed(KeyEvent pressedEvent)
{
}
@Override
public void keyReleased(KeyEvent arg0)
{
}
}