比方说,我有一个类Foo
实现了一个接口,如MouseListener
。接口由五个方法组成,但我只希望覆盖其中的一个(mouseClicked()
)。有没有一种标准的,惯用的方式来格式化其他方法?在Java中有没有一种习惯用于满足接口的空方法?
我的倾向是写:
@Override
public void mouseClicked(MouseEvent e) {
// (...) <-- actual code here
}
@Override
public void mouseEntered(MouseEvent e) {
// Do nothing. Exists to satisfy MouseListener interface.
}
@Override
public void mouseExited(MouseEvent e) {
// Do nothing. Exists to satisfy MouseListener interface.
}
@Override
public void mousePressed(MouseEvent e) {
// Do nothing. Exists to satisfy MouseListener interface.
}
@Override
public void mouseReleased(MouseEvent e) {
// Do nothing. Exists to satisfy MouseListener interface.
}
我摆明是方法是有意空白,而不是不小心留下左右的球迷,但我不是疯了所有的垂直空间基本上什么都不放过。我也看到了以下格式:
public void mouseClicked(MouseEvent e) {
// (...) <-- actual code here
}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
我一般用这个确定,我理解作者的意图,但增加了(recommended)@Override
注释时,它变得非常难看。
我不是一个特别有经验的Java编码器,所以我想我会问是否有一个约定。思考?
您知道MouseAdapter类,对不对? http://java.sun.com/javase/6/docs/api/java/awt/event/MouseAdapter.html – 2009-05-19 18:23:20