Warum gibt es in Java keine @Implements-Annotation?

8

Ich habe die Annotation @Override sehr hilfreich gefunden, während ich einige Superklassenmethoden in meinen abgeleiteten Klassen außer Kraft setzte. Grundsätzlich erkennt der Compiler die Fehler in meinem Programm früh, was immer eine gute Sache ist. Aber warum gibt es in Java keine @Implements-Annotation?

    
Geek 14.02.2013, 06:32
quelle

4 Antworten

14

Weil Sie @Override auch für Methoden verwenden, die von Schnittstellen definiert sind.

(Ja, Sie "implementieren" anstatt "überschreiben" ... aber @Override wird für beide verwendet)

    
Brian Roach 14.02.2013, 06:34
quelle
2

Seit Java 6 können Sie @Override für Klassenmethoden verwenden, die Methoden implementieren, die in Schnittstellen definiert sind

    
Evgeniy Dorofeev 14.02.2013 06:43
quelle
1

Um eine Schnittstelle zu implementieren, verwenden wir implements und wenn irgendeine Methode in dieser Schnittstelle existiert, überschreiben wir diese Methoden, um eine Implementierung bereitzustellen.

Also gibt es nur @Override Annotation, weil wir in beiden Fällen (Klasse oder Interface) immer überschreiben.

    
Sumit Singh 14.02.2013 06:41
quelle
0

Um eine Schnittstelle zu implementieren, existiert das Schlüsselwort bereits: implements . aber zum Überschreiben existierte kein solches Schlüsselwort. @Override ist kein Schlüsselwort, funktioniert aber ähnlich.

    
Azodious 14.02.2013 06:35
quelle

Tags und Links