Скажем, у меня есть класс 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-кодер, поэтому решил, что спрошу, существует ли соглашение. Мысли?