@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
class father{ public void fly(){} } class son extends father{ @Override public void fly() { super.fly(); } }
@Override menunjukkan anak lelaki itu kaedah fly telah ditulis semula
Jika tiada @Override, kaedah fly masih akan ditulis semula
class father{ public void fly(){} } class son extends father{ public void fly() { super.fly(); } }
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.
@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 { }
public class Deprecatedtext { public static void main(String[] args) { father father1 = new father(); father1.fly(); } } @Deprecated class father{ @Deprecated public void fly(){} }
@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.
//@Deprecated底层代码 @Documented @Retention(RetentionPolicy.RUNTIME) @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//说明Deprecated能修饰方法,类,包,参数等等 public @interface Deprecated { }
2. Tin yang ditamatkan Berfungsi sebagai peralihan keserasian antara versi lama dan baharu
@SuppressWarnings("all") class father{ public void fly(){} }
Anotasi @SuppressWarnings boleh digunakan untuk menyekat mesej amaran {"" } ditulis ke dalam perkara yang anda ingin sekat Mesej Amaran
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(){} }
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
Sasaran menentukan tempat anotasi boleh digunakan
Didokumentasikan menentukan sama ada anotasi akan ditunjukkan dalam javadoc
Subkelas yang diwarisi akan mewarisi Anotasi kelas induk
Pengekalan
dibuang terus.CLASS: Pengkompil merekodkan anotasi dalam kelas fail. JVM tidak akan mengekalkan anotasi semasa menjalankan java >
@Override lapisan bawah (kunci pintasan untuk IDEA untuk memasuki lapisan bawah ialah
Ctrl)
Kes sasaran@Lapisan bawah ditamatkan
@Target(ElementType.METHOD) @Retention(RetentionPolicy.SOURCE)//表示@Override在编译器使用后,直接丢弃注释 public @interface Override { }
@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声明
Diwarisi
@Documented @Retention(RetentionPolicy.RUNTIME) @Target(value={CONSTRUCTOR, FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})//表示@Documented在这些地方可以写注解 public @interface Deprecated { }
Atas ialah kandungan terperinci Cara menggunakan anotasi Java Annotaton. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!