假设我有一个Foo
实现接口的类,例如MouseListener
. 该MouseListener
接口由五种方法组成,但我只想覆盖其中一种(mouseClicked()
)。是否有一种标准的、惯用的方式来格式化其他方法?
我的倾向是写以下内容:
@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) {}
我对此一般没问题,并且我理解作者的意图,但是当添加(推荐的)@Override
注释时,它变得非常难看。
我不是一个特别有经验的 Java 编码器,所以我想我会问是否有约定。想法?