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