Um die Vorteile der Compilerprüfung zu nutzen, sollten Sie immer die Override-Anmerkung verwenden. Vergessen Sie aber nicht, dass der Java Compiler 1.5 diese Annotation nicht zulässt, wenn Sie Schnittstellenmethoden überschreiben. Sie können sie nur verwenden, um Klassenmethoden (abstrakt oder nicht) zu überschreiben.
Einige IDEs, wie z.B. Eclipse, selbst wenn sie mit Java 1.6 Runtime oder höher konfiguriert sind, halten sie die Konformität mit Java 1.5 aufrecht und erlauben die Verwendung von @override wie oben beschrieben nicht. Um dieses Verhalten zu vermeiden, müssen Sie gehen zu: Projekteigenschaften ->Java Compiler -> Aktivieren Sie "Projektspezifische Einstellungen aktivieren" -> Wählen Sie "Compiler Compliance Level" = 6.0, oder höher.
Ich verwende diese Annotation immer dann, wenn ich eine Methode unabhängig überschreibe, wenn die Basis eine Schnittstelle oder eine Klasse ist.
Dies hilft Ihnen, einige typische Fehler zu vermeiden, z. B. wenn Sie denken, dass Sie einen Event-Handler überschreiben, und dann sehen Sie, dass nichts passiert. Stellen Sie sich vor, Sie möchten einen Ereignis-Listener zu einer UI-Komponente hinzufügen:
someUIComponent.addMouseListener(new MouseAdapter(){
public void mouseEntered() {
...do something...
}
});
Der obige Code wird kompiliert und ausgeführt, aber wenn Sie die Maus innerhalb von someUIComponent bewegen, wird der "do something"-Code nicht ausgeführt, weil Sie die Basismethode nicht überschreiben mouseEntered(MouseEvent ev)
. Sie erstellen einfach eine neue Methode ohne Parameter mouseEntered()
. Wenn Sie anstelle dieses Codes die Option @Override
Annotation haben Sie einen Kompilierfehler gesehen und keine Zeit damit verschwendet, darüber nachzudenken, warum Ihr Event-Handler nicht ausgeführt wurde.