Teil 1. Ich habe sehr kurz über Anmerkungen vom Typ SOURCE und CLASS geschrieben. Dies ist eine Lektüre wert, um nicht im zweiten Teil verloren zu gehen und Ihr „Missverständnis“ ein wenig zu erweitern =) Ich verspreche Ihnen, dass Sie auf jeden Fall mindestens ein Wort kennen werden! Als ich hier zum ersten Mal Anmerkungen in den Aufgaben gesehen habe, habe ich ihnen irgendwie nicht viel Aufmerksamkeit geschenkt. Hier und da gibt es @Override, aber IDEA fügt das hinzu, also dachte ich mir, dass es so sein muss. Mit der Zeit wurde mir klar, dass alles viel tiefer liegt. Während Sie lernen, können Anmerkungen etwas nutzlos, aber notwendig erscheinen. Sie wissen nicht, warum sie existieren oder was sie tun. Sie haben ein paar Artikel gelesen, in denen es hieß: „Es ist so toll, dass wir jetzt Anmerkungen haben, alles ist so einfach geworden.“ Aber ich wusste vorher nicht, wie es war, und ich habe nicht verstanden, dass es jetzt einfacher ist. Jetzt weiß ich es und möchte ein wenig mitteilen. Es gibt drei Arten von (RetentionPolicy)-Anmerkungen:
Native – ich habe das nie gesehen und nie benutzt. Ich denke, dass dies eine eher seltene Annotation ist, da sie verwendet wird, wenn Sie Code in einer anderen „nativen“ Sprache ausführen müssen. Ich habe versucht, eine klare Erwähnung davon zu finden, bin aber gescheitert.
SuppressWarnings – Diese Annotation wird oft wie folgt verwendet: @SuppressWarnings("unchecked"). Es dient dazu, Warnungen zu unterdrücken, die Ihnen bereits bekannt sind. Das vorherige Beispiel unterdrückt Warnungen zu ungeprüften Typkonvertierungen. Auch dies ist die einzige Verwendung, die mir begegnet ist.
Generiert – Ich stoße gerade auf diese Anmerkung, weil ich eine Aufgabe habe, bei der ich Klassen aus XSD-Dateien generieren muss. Diese 3 Anmerkungen sind recht spezifisch und für Sie derzeit höchstwahrscheinlich uninteressant. Ich werde den letzten beschreiben.
Überschreiben – Sie verwenden es ständig und es bewirkt etwas sehr Nützliches. Beim Überschreiben einer Methode kann ohne die Hilfe von IDEA leicht ein Fehler passieren. Ob Tippfehler oder einfache Fehler, Fehler passieren. Diese Annotation stellt sicher, dass die Methode in der übergeordneten Klasse mit unserer (annotierten) Methode übereinstimmt. Dadurch wird sichergestellt, dass die Methode überschrieben und nicht hinzugefügt wird. Beim Refactoring von Code kann die übergeordnete Methode entfernt oder geändert werden. Auch diese Anmerkung weist auf einen Fehler hin. Ohne sie würde unsere Methode einfach hinzugefügt werden. Langweilig? Ich würde Ja sagen. Aus diesem Artikel ist nicht viel Hilfreiches zu entnehmen. Fast alles (90 %) hier beschreibt etwas, das Sie nie oder nur sehr selten nutzen werden. Die restlichen 10 % bestehen aus der Begrüßung und Beschreibung der Annotation @Override, die auf den ersten Blick nutzlos ist. Dennoch denke ich, dass der zweite Teil des Artikels interessanter sein wird. Es werden RUNTIME-Annotationen besprochen – sie interagieren während der Ausführung mit dem Code und wirken schwarze Magie. Anmerkungen. Teil 2. Lombok
- QUELLE – Anmerkungen für den Compiler
- KLASSE – Informationen aus der Annotation werden in Bytecode geschrieben, sind aber zur Laufzeit nicht verfügbar. Sie sagen, dass die Standardbibliothek viele Anmerkungen dieses Typs enthält, die jetzt aus Gründen der Abwärtskompatibilität beibehalten werden. Dies wird für sehr spezifische Aufgaben verwendet.
- Fragen und Antworten zu StackOverflow
- LAUFZEIT – Diese Anmerkungen sind die beliebtesten. Sie werden verwendet, während der Code ausgeführt wird.
- java/lang/annotation/Native.class;
- java/lang/SuppressWarnings.class
- javax/annotation/Generated.class
- java/lang/Override.class
- com/sun/istack/internal/Nullable.class
- com/sun/istack/internal/NotNull.class
- com/sun/istack/internal/Interned.class
- Native – Eine Variable mit dieser Annotation kann auf nativen Code verweisen;
- SuppressWarnings – Diese Annotation unterdrückt verschiedene Compiler-Warnungen;
- Generiert – Diese Anmerkung markiert den generierten Quellcode;
- Override – Diese Annotation überprüft Methodenüberschreibungen.
GO TO FULL VERSION