Dieser Artikel stellt hauptsächlich die relevanten Informationen zu Java @interface-Annotationen und Beispielen vor. Freunde, die sie benötigen, können darauf verweisen
Java @interface-Annotationsdetails und Beispiele
In Java ähnelt das Definieren von Anmerkungen tatsächlich dem Definieren von Schnittstelle. Sie müssen lediglich ein @-Symbol vor der Schnittstelle hinzufügen . Das ist es, nämlich @interface Zhujie{ }, was anzeigt, dass wir eine Annotation namens @Zhujie definiert haben. Jede Methode in der Annotation definiert ein Element des Annotationstyps. Besondere Aufmerksamkeit: Die Deklaration der Methode in der Annotation darf keine Parameter enthalten oder eine Ausnahme auslösen; der Rückgabewert der Methode ist auf einfache Typen beschränkt, String, Class, emnus, Annotation und Array dieser Typen, Methoden können jedoch einen Standardwert haben.
Das Hinzufügen von Anmerkungen zu einem Programm entspricht dem Hinzufügen einer bestimmten Markierung zum Programm. JAVAC-Compiler und andere Programme können Reflexionsmechanismen verwenden, um unsere Klassen zu verstehen Es handelt sich um Tags für verschiedene Elemente. Wenn das Tag gefunden wird, führen Sie die entsprechende Aktion aus. Beispielsweise kann @Deprecated für einige Klassen, Methoden und Felder markiert werden, deren Verwendung nicht empfohlen wird, und es wird eine Warnung ausgegeben, wenn jemand sie verwendet.
2 Meta-Annotationen
Annotation @Retention kann zum Ändern von Annotationen verwendet werden, bei denen es sich um Annotationen von Annotationen handelt, die als Meta-Annotationen bezeichnet werden. Die Retention-Annotation hat einen -Attribut--Wert vom Typ RetentionPolicy, und Enum RetentionPolicy ist ein Aufzählungstyp, der bestimmt, wie die Retention-Annotation betrieben werden soll. Dies kann auch als Verwendung von Retention mit RententionPolicy verstanden werden. RetentionPolicy hat drei Werte, nämlich: CLASS, RUNTIME und SOURCE.
Eine mit @Retention(RetentionPolicy.CLASS) geänderte Annotation, die angibt, dass die Annotationsinformationen beim Kompilieren des Programms in der Klassendatei (Bytecode-Datei) beibehalten, aber nicht virtualisiert werden Maschine liest beim Ausführen;
mit @Retention(RetentionPolicy.SOURCE) geänderte Anmerkungen, was darauf hinweist, dass die Anmerkungsinformationen vom Compiler verworfen werden und nicht in der Klassendatei verbleiben Informationen verbleiben nur in der Quelldatei.
Mit @Retention(RetentionPolicy.RUNTIME) geänderte Anmerkungen zeigen an, dass die mit Anmerkungen versehenen Informationen in der Klassendatei (Bytecode-Datei) beibehalten werden, wenn das Programm ausgeführt wird kompiliert wird, wird es zur Laufzeit von der virtuellen Maschine beibehalten.
Erstellen Sie zunächst eine einfache Anmerkung:
public @interface Coder { int personId(); String company() default "[unassigned]"; }
Nachdem die Annotation definiert wurde, können wir sie zum Erstellen von Annotationsdeklarationen verwenden. Anmerkungen sind ein spezieller Modifikator, der überall dort verwendet werden kann, wo andere Modifikatoren (z. B. öffentlich, statisch oder final usw.) verwendet werden. Konventionsgemäß sollten Anmerkungen vor anderen Modifikatoren platziert werden. Die Annotation wird mit dem @-Symbol deklariert, gefolgt vom Namen des Annotationstyps, gefolgt von Klammern. Die Klammern listen die Schlüssel-Wert-Paare der Elemente oder Methoden in der Annotation auf, wobei der Wert < sein muss 🎜 >Konstant. Zum Beispiel:
@coder(personId=20151120,company="YeePay")
public @interface Coder {}
public @interface Coder { String value(); }
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung und Beispiele von @interface-Annotationen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!