Heim  >  Artikel  >  Java  >  Java-Programmiergedanken-Lernklasse (7) Kapitel 20 – Notizen

Java-Programmiergedanken-Lernklasse (7) Kapitel 20 – Notizen

php是最好的语言
php是最好的语言Original
2018-08-09 14:59:021315Durchsuche

 Anmerkungen (auch bekannt als Metadaten) ermöglichen uns das Hinzufügen von Informationen zum Code A formal Es wird eine Methode entwickelt, die es uns ermöglicht, diese Daten zu einem späteren Zeitpunkt sehr komfortabel zu nutzen.

1 Grundlegende Syntax

  Annotierte Methoden unterscheiden sich nicht von anderen Methoden. Anmerkungen können mit jedem Modifikator einer Methode verwendet werden, beispielsweise public, static oder void. Aus syntaktischer Sicht werden Annotationen fast genauso wie Modifikatoren verwendet.

1.1 Definition von Annotationen

  Die Definition von Annotationen ähnelt stark der Definition von Schnittstellen. Tatsächlich werden die -Annotationen wie bei jeder anderen Java-Schnittstelle auch in Klassendateien kompiliert.

  Beim Definieren von Anmerkungen benötigen Sie einige Meta-Anmerkungen (Meta-Annotation) , wie z. B. @Target, @Retention.

  In Anmerkungen enthält im Allgemeinen einige Elemente zur Darstellung bestimmter Werte . Programme oder Tools können diese Werte beim Parsen und Verarbeiten von Anmerkungen nutzen. Annotierte Elemente sehen genauso aus wie Schnittstellenmethoden. Der einzige Unterschied besteht darin, dass Sie ihnen Standardwerte zuweisen können. Es gibt Einschränkungen hinsichtlich der Elementtypen.

  Eine Anmerkung ohne Elemente wird als Markierungsanmerkung bezeichnet.

  Alle Anmerkungen erben von annotation.

package net.mrliuli.annotations;import java.lang.annotation.*;@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface Test {} //(marker annotation)

1.2 Drei Standardanmerkungen und vier Metaanmerkungen

  Drei Standardanmerkungen definiert in java.lang:

  • @Overrided

  • @Deprecated

  • @SuppressWarnings

Vier Meta-Anmerkungen:

  • @Target gibt an, wo diese Anmerkung verwendet werden kann.

  • @Retension gibt an, auf welcher Ebene die Anmerkungsinformationen gespeichert werden müssen.

  • @Documented Fügen Sie diese Anmerkung in Javadoc ein.

  • @Inherited ermöglicht Unterklassen, Anmerkungen von übergeordneten Klassen zu erben.

1.3 Über Anmerkungen

  • Die Art der Anmerkungselemente ist begrenzt und kann nicht beliebig sein Der Compiler soll einen Fehler melden.

  • Standardwertbeschränkungen:

    @Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface SimulationNull{
        public int id() default -1;    public String description() default "";
    }
    • Erstens können Elemente keine unbestimmten Werte haben. Das heißt, das Element muss entweder einen Standardwert haben oder den Wert des Elements bereitstellen, wenn die Annotation verwendet wird.

    • Zweitens kann null für Elemente von Nicht-Basistypen nicht als Wert verwendet werden, weder bei der Deklaration im Quellcode noch bei der Definition eines Standardwerts in einer Annotationsschnittstelle . . Diese Einschränkung erschwert es einem Annotationsprozessor, das Vorhandensein oder Fehlen eines Elements darzustellen, da in jeder Annotationsdeklaration alle Elemente vorhanden sind und entsprechende Werte haben. Um diese Einschränkung zu umgehen, können wir nur einige Sonderwerte wie leere Zeichenfolgen oder negative Zahlen definieren, um anzuzeigen, dass ein Element nicht existiert:

  • Extern generieren Dateien. Einige Frameworks erfordern einige zusätzliche Informationen, um mit Ihrem Quellcode arbeiten zu können. In diesem Fall eignen sich Anmerkungen am besten, um ihren Wert auszudrücken. Technologien wie Enterprise JavaBeans erfordern Bereitstellungsbeschreibungsdateien. Webdienste, benutzerdefinierte Tag-Bibliotheken und objekt-/relationale Mapping-Tools (wie Toplink und Hibernate) erfordern im Allgemeinen XML-Beschreibungsdateien, und diese Beschreibungsdateien sind vom Quellcode getrennt.

2 Annotationsprozessor schreiben

  Ein wichtiger Teil des Prozesses der Verwendung von Annotationen ist die Erstellung und Verwendung eines Annotationsprozessors , wird zum Lesen der Anmerkung verwendet.

  • Die API des Reflexionsmechanismus kann einen Annotationsprozessor erstellen

  • Das externe Tool apt kann Java-Quellcode mit Annotationen analysieren

Verwandte Artikel:

Lektion zum Gedankenlernen in Java-Programmierung (5) Kapitel 18 – Java IO-System

Gedankenlernen in Java-Programmierung Lektion (6) Kapitel 19 – Aufzählungstyp

Das obige ist der detaillierte Inhalt vonJava-Programmiergedanken-Lernklasse (7) Kapitel 20 – Notizen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn