1. Pengisytiharan anotasi: Anotasi boleh diisytiharkan melalui @antara muka.
@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-anotasi, anotasi anotasi, nilainya ditakrifkan dalam kelas penghitungan ElementType.
Anotasi @Sasaran digunakan untuk menentukan lokasi kod anotasi tersuai kami.
@Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE}) public @interface Target { ElementType[] value(); }
1) ElementType.FIELD digunakan pada pembolehubah ahli.
2) ElementType.METHOD digunakan pada kaedah ahli.
3) ElementType.PARAMETER digunakan pada parameter kaedah.
4) ElementType.TYPE digunakan pada kelas dan antara muka.
5) ElementType.ANNOTATION_TYPE digunakan dalam anotasi.
3.@meta-anotasi pengekalan, nilai ditakrifkan dalam kelas penghitungan RetentionPolicy.
digunakan untuk menentukan peringkat di mana anotasi berkuat kuasa:
1) SUMBER: Anotasi hanya sah dalam peringkat kod sumber dan tidak akan dihimpun menjadi kod bait.
2) KELAS: Anotasi adalah sah dalam peringkat kod sumber dan kod byte, tetapi tidak wujud dalam peringkat berjalan.
3) RUNTIME: Anotasi adalah sah dalam fasa kod sumber, bytecode dan runtime, dan juga merupakan yang paling biasa digunakan.
@Documented @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE}) public @interface Retention { RetentionPolicy value(); }
public enum RetentionPolicy { SOURCE, CLASS, RUNTIME; private RetentionPolicy() { } }
2. Penggunaan anotasi
@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();
Penggunaan anotasi adalah sangat mudah.
Anotasi sahaja tidak mempunyai makna dan mesti digabungkan dengan teknologi lain.
Aplikasi:
1) Anotasi + Pemproses anotasi Apt, menghasilkan kod java, penjilidan data, pisau mentega, gagang belati
2) Anotasi + titik berkubur kod
3) Anotasi + pantulan + pengubahsuaian proksi dinamik kitaran hayat xUtils
Atas ialah kandungan terperinci Bagaimana untuk mengisytiharkan Pengekalan meta-anotasi Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!