Heim > Java > javaLernprogramm > Ausführliche Erklärung und Beispiele von @interface-Annotationen in Java

Ausführliche Erklärung und Beispiele von @interface-Annotationen in Java

黄舟
Freigeben: 2017-06-04 09:31:31
Original
1793 Leute haben es durchsucht

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

1 Einführung

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.

  1. 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;

  2. 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.

  3. 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.

3 Anwendungsbeispiel

Erstellen Sie zunächst eine einfache Anmerkung:

public @interface Coder { 
   int personId(); 
   String company() default "[unassigned]";
}
Nach dem Login kopieren

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")
Nach dem Login kopieren
Anmerkungen ohne Elemente oder Methoden werden als „Marker“-Typen bezeichnet, zum Beispiel:

public @interface Coder {}
Nach dem Login kopieren
Wenn eine Markierungsanmerkung verwendet wird, können die darauf folgenden Klammern weggelassen werden . Wenn die Annotation nur ein Element enthält, sollte der Name dieses Elements ein Wert sein, zum Beispiel:

public @interface Coder { 
   String value();
}
Nach dem Login kopieren
Wenn der Name des Elements ein Wert ist, dann wird bei Verwendung dieser Annotation der Name des Elements verwendet und das Gleichheitszeichen kann weggelassen werden, zum Beispiel:

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage