Als Nächstes soll das BaseExample erweitert und myMethod überschrieben werden. Hier der entsprechende Code für Example1:
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:
Beim Online-Gaming kommt es nicht nur auf das eigene Können an. Auch die technischen Voraussetzungen…
Fast jedes zweite Unternehmen bietet keinerlei Schulungen an. In den übrigen Betrieben profitieren oft nur…
Huawei stellt auf der Connect Europe 2024 in Paris mit Xinghe Intelligent Network eine erweiterte…
Höchste Zeit für eine schnelle Kupfer-Glas-Migration. Bis 2030 soll in Deutschland Glasfaser flächendeckend ausgerollt sein.
Schon im April 2025 soll Android 16 den Status Plattformstabilität erreichen. Entwicklern gibt Google danach…
Die Hintermänner setzen KI-Chatbot-Tools als Köder ein. Opfer fangen sich den Infostealer JarkaStealer ein.