Damit erhält man die erste Annotation in myMethod: @Override, eine der wenigen eingebauten Annotationen in Java. @Override besagt: „Diese Methode muss eine Methode in ihrer übergeordneten Klasse überschreiben, andernfalls stimmt etwas nicht und der Compiler muss einen Fehler ausgeben.“ Der Code würde ohne @Override ganz normal funktionieren, aber jemand könnte ja zum Beispiel die BaseExample myMethod mit einem Parameter versehen. Ohne die Annotation @Override würde der Code trotzdem kompiliert, es würde nicht erkannt, dass die Unterklasse die Methoden der Oberklasse nicht übeschreibt. Mit @Override erhält man einen Kompilierungsphase-Fehler.
Das ließe sich zwar auch über eine Spracherweiterung wie zum Beispiel ein zusätzliches Schlüsselwort erreichen, aber dadurch würde die Sprache nicht flexibler, und außerdem könnte dies eine ganze Reihe von Quellcode-Kompatibilitätsproblemen schaffen. Mit Annotationen hingegen wird die Sprache selbst (Java) außer dem zusätzlichen @-Markup nicht geändert, und sie können in verschiedenen Teilen des Codes stehen und nicht nur Methoden markieren.
Mit Annotationen kann man wie unten beschrieben eigene Annotationes-Markups einfügen. Folgendes Problem soll gelöst werden: Man hat einfache Beans mit verschiedenen String-Feldern. Nun soll es einen allgemeinen Anzeige-Code für Formulare geben, bei dem die einzelnen Felder mit zusätzlichen Hinweisen zur Anzeige versehen werden, zum Beispiel der Breite. Man könnte hierfür eine Oberklasse schreiben, die diese Daten beispielsweise aus einem statischen Array mit einigen statischen unterstützenden Methoden in den einzelnen Klassen extrahiert, aber dadurch würde man den Code in eine Hierarchie zwingen. Annotationen sind eine viel einfachere Möglichkeit. Dafür muss man zunächst die Annotation für ein „FormLabel“ in FormLabel.java definieren:
Neueste Kommentare
Noch keine Kommentare zu Java mit Anmerkungen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.