Rumah > Java > javaTutorial > Cara menggunakan anotasi Java Annotaton

Cara menggunakan anotasi Java Annotaton

WBOY
Lepaskan: 2023-04-25 17:58:15
ke hadapan
1302 orang telah melayarinya

1. Tiga Anotaton asas

@Override: Untuk mengehadkan kaedah, ia adalah untuk mengatasi kaedah kelas induk ini hanya boleh digunakan untuk kaedah
@Dihentikan: Digunakan untuk mewakili sesuatu Elemen program (kelas, kaedah, dll.) sudah lapuk
@SuppressWarnings: Sekat amaran pengkompil

@Override

class father{
   public void fly(){}
}
class son extends father{
    @Override
    public void fly() {
        super.fly();
    }
}
Salin selepas log masuk

Tafsiran

@Override menunjukkan anak lelaki itu kaedah fly telah ditulis semula

Butiran

Jika tiada @Override, kaedah fly masih akan ditulis semula

class father{
   public void fly(){}
}
class son extends father{
    public void fly() {
        super.fly();
    }
}
Salin selepas log masuk

Jika anotasi @Override ditulis, pengkompil akan menyemak sama ada kaedah ditindih Jika kaedah kelas induk ditulis semula, kompilasi akan lulus. Jika ia tidak ditulis semula, ralat kompilasi berlaku.

Cara menggunakan anotasi Java Annotaton

@Override hanya boleh mengubah suai kaedah, bukan kelas lain, pakej, sifat, dll.

//@Override底层代码
@Target(ElementType.METHOD)//ElementType.METHOD说明@Override只能修饰方法
@Retention(RetentionPolicy.SOURCE)
public @interface Override {
}
Salin selepas log masuk

@Dihentikan

public class Deprecatedtext {
    public static void main(String[] args) {
        father father1 = new father();
        father1.fly();
    }
}
@Deprecated
class father{
    @Deprecated
   public void fly(){}
}
Salin selepas log masuk

Tafsiran

@Dihentikan bermaksud elemen atur cara tertentu (kelas, kaedah, dsb.) sudah lapuk, dan akan diingatkan oleh garis mendatar di tengah perkataan. Menunjukkan bahawa penggunaan tidak disyorkan.

Kesan

Cara menggunakan anotasi Java Annotaton

Butiran boleh mengubah suai kaedah, kelas, pakej, parameter, dll.

//@Deprecated底层代码
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//说明Deprecated能修饰方法,类,包,参数等等
public @interface Deprecated {
}
Salin selepas log masuk

2. Tin yang ditamatkan Berfungsi sebagai peralihan keserasian antara versi lama dan baharu

@SuppressWarnings

@SuppressWarnings("all")
class father{
   public void fly(){}
}
Salin selepas log masuk

Tafsiran

Anotasi @SuppressWarnings boleh digunakan untuk menyekat mesej amaran {"" } ditulis ke dalam perkara yang anda ingin sekat Mesej Amaran

Kesan

Cara menggunakan anotasi Java Annotaton

Cara menggunakan anotasi Java Annotaton

Butiran

1. @SuppressWarnings skop dan tempat anda meletakkannya Jenis amaran yang dinyatakan

public class Enumtext {
    @SuppressWarnings("all")//作用范围在main方法
    public static void main(String[] args) {
        father father1 = new father();
        father1.fly();
    }
}
@SuppressWarnings("all")//作用范围在father类
class father{
   public void fly(){}
}
Salin selepas log masuk

yang berkaitan dengan kedudukan ialah

semua, sekat semua amaran
tinju, sekat amaran yang berkaitan dengan operasi pembungkusan/pembukaan
buang, menindas dan memaksa Amaran berkaitan dengan kerja transformasi
dep-ann, menyekat amaran berkaitan dengan ulasan penamatan
penamatan, menyekat amaran yang berkaitan dengan penamatan
kegagalan, menyekat amaran yang berkaitan dengan peninggalan pemecahan dalam pernyataan suis
akhirnya , sekat amaran yang berkaitan dengan tidak kembali akhirnya sekat
menyembunyikan, sekat amaran yang berkaitan dengan pembolehubah setempat yang menyembunyikan pembolehubah
suis tidak lengkap, sekat amaran yang berkaitan dengan item yang hilang dalam pernyataan suis (kes enum)
JavaScript >sumber, menyekat amaran yang berkaitan dengan penggunaan sumber jenis Closeable
sekatan, menyekat amaran yang berkaitan dengan penggunaan rujukan yang tidak digunakan atau dilarang
siri, menyekat yang berkaitan dengan kelas boleh bersiri yang tiada amaran medan serialVersionUID
statik- akses, menyekat amaran yang berkaitan dengan akses statik yang salah
kaedah statik, menyekat amaran yang berkaitan dengan kaedah yang mungkin diisytiharkan statik
super, menyekat amaran yang berkaitan dengan kaedah penggantian tetapi tidak mengandungi super Amaran untuk memanggil
sintetik- akses, menyekat amaran yang berkaitan dengan akses tidak dioptimumkan ke kelas dalaman
penyegerakan-override, menyekat amaran tentang penyegerakan terlepas disebabkan kaedah penyegerakan mengatasi
tidak ditandai, menyekat amaran yang berkaitan dengan akses tidak dioptimumkan ke kelas dalaman Amaran berkaitan dengan operasi yang diperiksa
akses medan tidak layak, sekat amaran berkaitan dengan akses medan tidak layak
tidak digunakan, sekat amaran berkaitan kod tidak digunakan dan kod dinyahaktifkan



Anotasi meta

Cara menggunakan anotasi Java Annotaton

Pengekalan menentukan skop anotasi, tiga jenis: SOURCE, CLASS, RUNTIME

  • Sasaran menentukan tempat anotasi boleh digunakan

  • Didokumentasikan menentukan sama ada anotasi akan ditunjukkan dalam javadoc

  • Subkelas yang diwarisi akan mewarisi Anotasi kelas induk

  • Pengekalan

RetentionPolicy.SOURCE: Selepas pengkompil menggunakannya, anotasi

  • dibuang terus.CLASS: Pengkompil merekodkan anotasi dalam kelas fail. JVM tidak akan mengekalkan anotasi semasa menjalankan java >

  • Kes pengekalan
  • @Override lapisan bawah (kunci pintasan untuk IDEA untuk memasuki lapisan bawah ialah

    Ctrl
  • +
  • B

    )

Sasaran
Nilai sasaran

Kes sasaran@Lapisan bawah ditamatkan

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.SOURCE)//表示@Override在编译器使用后,直接丢弃注释
public @interface Override {
}
Salin selepas log masuk

Didokumentasikan

Kes yang didokumenkan
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
//   1.CONSTRUCTOR:用于描述构造器
    2.FIELD:用于描述域
    3.LOCAL_VARIABLE:用于描述局部变量
    4.METHOD:用于描述方法
    5.PACKAGE:用于描述包
    6.PARAMETER:用于描述参数
    7.TYPE:用于描述类、接口(包括注解类型) 或enum声明
Salin selepas log masuk
@Dasar yang tidak digunakan

Diwarisi

@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//表示@Documented在这些地方可以写注解
public @interface Deprecated {
}
Salin selepas log masuk
Anotasi yang diubah suai olehnya akan mempunyai warisan Jika kelas menggunakan Jika Anotasi diubah oleh @Diwarisi , subkelasnya secara automatik akan mempunyai anotasi ini

Atas ialah kandungan terperinci Cara menggunakan anotasi Java Annotaton. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan