1. Anmerkungsdeklaration: Eine Anmerkung kann über @interface deklariert werden.
@Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) public @interface BindView { int value(); }
@Target(ElementType.METHOD) @Retention(RetentionPolicy.RUNTIME) public @interface Get { String value() default ""; }
@Target(ElementType.PARAMETER) @Retention(RetentionPolicy.RUNTIME) public @interface Queue { String value() ; }
2. @Target-Meta-Annotation, Annotation, ihr Wert wird in der ElementType-Enumerationsklasse definiert.
@Target-Anmerkung wird verwendet, um den Speicherort unseres benutzerdefinierten Anmerkungscodes zu definieren.
@Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE}) public @interface Target { ElementType[] value(); }
1) ElementType.FIELD wird für Mitgliedsvariablen verwendet.
2) ElementType.METHOD wird für Mitgliedsmethoden verwendet.
3) ElementType.PARAMETER wird für Methodenparameter verwendet.
4) ElementType.TYPE wird für Klassen und Schnittstellen verwendet.
5) ElementType.ANNOTATION_TYPE wird in Anmerkungen verwendet.
3.@Retention-Meta-Annotation, der Wert wird in der RetentionPolicy-Enumerationsklasse definiert.
Wird verwendet, um die Phase zu definieren, in der Anmerkungen wirksam werden:
1) QUELLE: Anmerkungen sind nur im Quellcodestadium gültig und werden nicht in Bytecode kompiliert.
2) KLASSE: Anmerkungen sind in der Quellcode- und Bytecode-Phase gültig, in der laufenden Phase jedoch nicht vorhanden.
3) LAUFZEIT: Anmerkungen sind im Quellcode, Bytecode und in laufenden Phasen gültig und werden auch am häufigsten verwendet.
@Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE}) public @interface Retention { RetentionPolicy value(); }
public enum RetentionPolicy { SOURCE, CLASS, RUNTIME; private RetentionPolicy() { } }
2. Die Verwendung von Anmerkungen
@BindView(R.id.start_activity) TextView startTextView;
@Get("http://www.baidu.com") Call getPerson(@Queue("name") String name,@Queue("200")int price); @Get("http://www.baidu.com") Call getPerson();
Die Verwendung von Anmerkungen ist sehr einfach.
Anmerkungen allein haben keine Bedeutung und müssen mit anderen Technologien kombiniert werden.
Anwendung:
1) Annotation + Apt-Annotation-Prozessor, Java-Code erstellen, Datenbindung, Buttermesser, Dolch2-Griff
2) Annotation + Code-Vergrabungspunkt
3) Annotation + Reflexion + dynamischer Proxy-Nachrüstung des xUtils-Lebenszyklus
Das obige ist der detaillierte Inhalt vonSo deklarieren Sie die Aufbewahrung von Java-Meta-Annotationen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!