Nehmen wir an, ich habe eine Klasse Foo
mit einer Schnittstelle wie MouseListener
implementieren. Die MouseListener
Schnittstelle besteht aus fünf Methoden, aber ich möchte nur eine von ihnen überschreiben (mouseClicked()
). Gibt es eine standardmäßige, idiomatische Formatierung der anderen Methoden?Gibt es in Java ein Idiom für leere Methoden, die existieren, um eine Schnittstelle zu erfüllen?
Meine Neigung war folgendes zu schreiben:
@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.
}
Ich bin ein Fan von so dass es ausdrücklich, dass Methoden sind absichtlich leer und nicht versehentlich nicht so, aber ich bin nicht verrückt nach all den vertikalen Raum für nichts aufgegeben. Ich habe auch das folgende Format zu sehen:
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) {}
Ich bin mit diesem im Allgemeinen OK und ich verstehe die Absicht des Autors, aber es wird wirklich hässlich, wenn die (recommended) @Override
Anmerkungen hinzugefügt werden.
Ich bin kein besonders erfahrener Java-Programmierer, also dachte ich, ich würde fragen, ob es eine Konvention gab. Gedanken?
Sie sind sich der MouseAdapter-Klasse bewusst, richtig? http://java.sun.com/javase/6/docs/api/java/awt/event/MouseAdapter.html –