1. Meta-Anmerkung
1.1 @Target
[Funktion]
wird verwendet für Angabe der Orte, an denen die markierten Anmerkungen verwendet werden können, zum Beispiel: @Target(ElementType.METHOD)
: zeigt an, dass es für Methoden, aber nicht für andere Strukturen verwendet werden kann. @Target({ElementType.METHOD, ElementType.TYPE})
: zeigt an, dass es für Methoden, Schnittstellen usw. verwendet werden kann. Klassen und Aufzählungen.
Verwandte Online-Video-Tutorials: Java-Kurs
1.2 @Retention
[Funktion]
wird verwendet, um die Markierung anzugeben Anmerkungsaufbewahrungsphase, diese Anmerkung hat drei Werte:
@Retention(RetentionPolicy.SOURCE)
: Dies bedeutet, dass sie bis zur Quellcodephase beibehalten wird und nach der Kompilierung verschwindet.
@Retention(RetentionPolicy.CLASS)
: Dies bedeutet, dass sie beibehalten wird bis zur Kompilierungsphase und verschwindet nach der Ausführung.
@Retention(RetentionPolicy.RUNTIME)
: Zeigt an, dass sie bis zur Ausführungsphase erhalten bleiben. Wenn Sie die Anmerkungsaufbewahrungsphase durch Reflektion lesen möchten, müssen Sie die Anmerkungsaufbewahrungsphase als RUNTIME angeben
1.3 @Inherited
【Funktion】
gibt an, ob diese Annotation von Unterklassen geerbt werden kann.
1.4 @Documented
[Funktion]
Gibt an, ob diese Anmerkung von Javadoc in das Dokument eingelesen werden kann.
2. Anmerkungserklärung
[Format]
[Meta-Anmerkung]
【修饰符】 @interface 注解名 { 注解体 }
[Beispiel]
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { }
3. Konfigurationsparameterdeklaration
[Format]
【数据类型】 参数名() default 默认值;
Standardwert: Wenn Sie den Standardwert festlegen müssen, können Sie ihn hinzufügen Sie müssen es festlegen, Sie müssen es nicht schreiben.
Datentypen können nur sein: Basisdatentypen, String, Klasse, Aufzählung, Annotation und eindimensionale Arrays aller oben genannten Typen.
Wenn nur ein Parametermitglied oder ein häufig verwendeter Parameter vorhanden ist, können Sie den Parameternamen definieren: Wert. Wenn der Parametername bei Verwendung von Anmerkungen Wert ist, können Sie ihn weglassen und den eingegebenen Wert direkt schreiben.
[Beispiel]
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface MyAnnotation { String name() default ""; }
4. Anmerkungsinformationen lesen
Nur das Anmerkungs-Tag @Retention(RetentionPolicy.RUNTIME)
kann durch Reflexion gelesen werden.
Anmerkungsinformationen durch Reflexion lesen, wie folgt:
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; public class TestInterface { public static void main(String[] args) { MyAnnotation myAnnotation = MyClass.class.getAnnotation(MyAnnotation.class); String value = myAnnotation.value(); System.out.println(value); } } @MyAnnotation class MyClass {} @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation { String value() default "我是一个注解"; }
Ausgabeergebnisse:
Empfohlene Tutorials zu verwandten Artikeln:Einführung in Java
Das obige ist der detaillierte Inhalt vonAnmerkungen zu Java-Grundlagen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!