JavaRush /Java-Blog /Random-DE /Anmerkungen. Teil eins, etwas langweilig

Anmerkungen. Teil eins, etwas langweilig

Veröffentlicht in der Gruppe Random-DE
Erster Teil. Ich habe sehr kurz über Anmerkungen mit den Typen SOURCE und CLASS geschrieben. Es lohnt sich zu lesen, um sich nicht im zweiten Teil zu verlieren und noch ein bisschen mehr „Missverständnisse“ auszulösen =) Hier wird auf jeden Fall mindestens ein Wort dabei sein, das Sie kennen!
Anmerkungen.  Teil eins, etwas langweilig - 1
Als ich sie hier zum ersten Mal in Problemen sah, fielen sie mir irgendwie nicht auf. Nun ja, Override hängt rum, es wurde von IDEA geschrieben, also sollte es so sein. Mit der Zeit wurde mir klar, dass alles viel tiefer liegt. Während Sie lernen, erscheinen Anmerkungen wie etwas Nutzloses, aber Notwendiges. Sie wissen nicht, warum sie das tun. Ich glaube, ich habe ein paar Artikel gelesen, in denen stand: „Wie toll es ist, dass wir jetzt Anmerkungen haben, alles ist so einfach geworden.“ Aber ich wusste nicht, wie es vorher war, und ich verstand nicht, dass es jetzt einfacher ist. Jetzt weiß ich es und ich möchte dir ein wenig erzählen. Es gibt 3 Arten von Anmerkungen (RetentionPolicy):
  • QUELLE – Compiler-Anmerkungen
  • KLASSE – Daten aus der Anmerkung werden in den Bytecode geschrieben, sind aber während des Betriebs nicht verfügbar. Sie schreiben, dass viele Anmerkungen in der Standardbibliothek diesen Typ verwenden, und jetzt behalten sie ihn aus Gründen der Abwärtskompatibilität bei. Wird für sehr spezifische Aufgaben verwendet.
  • Frage und Antwort zu StackOverflow
  • RUNTIME – am beliebtesten, wird verwendet, während der Code ausgeführt wird.
Da ein Teil des Artikels von der Einleitung in Anspruch genommen wurde, werde ich hier über SOURCE- und CLASS-Annotationen schreiben. Hier sind die Abstracts, die ich finden konnte (dank Problem 3607). Ich schreibe nicht über Laufzeit, es gibt zu viele davon und das ist nicht das Thema des Artikels. QUELLE:
  • java/lang/annotation/Native.class;
  • java/lang/SuppressWarnings.class
  • javax/annotation/Generated.class
  • ,java/lang/Override.class
KLASSE: Ich weiß nicht, warum Anmerkungen vom Typ CLASS benötigt werden. Ich konnte keine Dokumentation für die vorhandenen Anmerkungen finden, daher denke ich, dass wir diesen Ballast einfach hinter uns lassen können. Aber wenn Sie es finden, teilen Sie es bitte mit. QUELLEnanmerkungen:
  1. Native – eine Variable unter dieser Annotation kann auf nativen Code verweisen;

  2. SuppressWarnings – unterdrückt verschiedene Compiler-Warnungen;

  3. Generiert – markiert den generierten Quellcode;

  4. Override – prüft auf Methodenüberschreibung.
Mehr Details:
Anmerkungen.  Teil eins, etwas langweilig - 2
Einheimisch – nie gesehen und nie benutzt. Ich denke, das ist eine eher seltene Anmerkung, weil... Sie verwenden es, wenn sie Code in einer anderen „nativen“ Sprache ausführen müssen. Ich habe versucht, einen klaren Bezug zu ihr zu finden, aber es gelang mir nicht.
Anmerkungen.  Teil eins, etwas langweilig - 3
SuppressWarnings – wird oft in der Form @SuppressWarnings("unchecked") verwendet. Wird verwendet, um Warnungen zu unterdrücken, die Ihnen bekannt sind. Das obige Beispiel unterdrückt Warnungen über die Umwandlung ungeprüfter Typen. Auch hier ist es mir nur in dieser Form und Verwendung begegnet.
Anmerkungen.  Teil eins, etwas langweilig - 4
Generiert – Ich bin jetzt darauf gestoßen, als die Aufgabe von mir verlangt, Klassen aus XSD-Dateien zu generieren. Diese 3 Anmerkungen sind recht spezifisch und werden Sie im Moment höchstwahrscheinlich nicht interessieren. Ich werde den letzten beschreiben.
Anmerkungen.  Teil eins, etwas langweilig - 5
Override – Sie verwenden es ständig und es hat eine sehr nützliche Funktion. Es ist leicht, beim Überschreiben einer Methode einen Fehler zu machen, es sei denn, IDEA führt dies durch. Es gibt Tippfehler oder einfach nur Fehler. Diese Annotation stellt sicher, dass die Methode in der übergeordneten Klasse mit unserer (beschrifteten) Methode übereinstimmt. Dies garantiert uns, dass die Methode überschrieben und nicht ergänzt wird. Beim Refactoring des Codes kann die Methode entfernt oder geändert werden. Auch hier zeigt Ihnen die Anmerkung den Fehler an. Ohne sie wäre unsere Methode einfach abgeschlossen.
Anmerkungen.  Teil eins, etwas langweilig - 6
Langweilig? Ich würde sagen: Ja, aus diesem Artikel lässt sich nicht viel Nützliches mitnehmen. Fast alles darin (90 %) ist eine Geschichte über etwas, das Sie nicht oder nur sehr selten verwenden werden. Die restlichen 10 % sind Hallo und eine Beschreibung der Override-Annotation, die auf den ersten Blick nutzlos ist. Nun, ich denke, der zweite Teil des Artikels wird interessanter sein. Es wird RUNTIME-Anmerkungen geben, die in Echtzeit mit dem Code interagieren und schwarze Magie erzeugen. Anmerkungen. Zweiter Teil. Lombok.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION