Rumah  >  Artikel  >  Java  >  Bagaimana untuk mengisytiharkan Pengekalan meta-anotasi Java

Bagaimana untuk mengisytiharkan Pengekalan meta-anotasi Java

王林
王林ke hadapan
2023-05-03 09:13:161341semak imbas

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam