Anotasi telah diperkenalkan atau tersedia dalam versi 1.5 Java Development Kit (JDK). Anotasi dalam Java memberikan lebih banyak maklumat tentang data yang terdapat dalam struktur kod, iaitu, ia adalah data tentang data, juga dikenali sebagai metadata.
Anotasi membantu dalam menentukan metadata dalam kod dengan cara yang standard. Selain itu, anotasi membantu dalam memberikan arahan kepada pengkompil java anda untuk diikuti semasa menyusun kod java itu.
Mulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Apabila menggunakan anotasi, kami menggunakan tanda ‘@’ dan kemudian diikuti dengan nama anotasi anda supaya pengkompil menganggapnya sebagai anotasi.
Adalah penting untuk ambil perhatian bahawa anotasi boleh ditambah sebelum:
Perkara penting yang perlu diingat ialah semua anotasi memanjangkan antara muka java.lang.annotation.Annotation. Selain itu, anotasi tidak boleh termasuk mana-mana klausa lanjutan.
Di Java, terdapat anotasi terbina seperti @Override, @Deprecated, @SuppressWarnings yang direka untuk tujuan tertentu dan digunakan dalam salah satu situasi di atas, contohnya, hanya untuk kelas atau sahaja untuk kaedah, dsb.
Kod:
class Dad { public void say() { System.out.println("Do your homework"); } } public class Child extends Dad { @Override public void say(){ System.out.println("I wanna play"); } public static void main(String args[]){ Dad daddy = new Child(); daddy.say(); } }
Output:
Kod:
public class Outdated { @Deprecated public void oldShow() { System.out.println("This Method is deprecated"); } public static void main(String args[]) { Outdated od = new Outdated (); od.oldShow(); } }
Output:
Terdapat lima jenis anotasi meta:
Contoh – Dokumentasi dan Pengekalan
Kod:
import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @interface RSample { String rentent(); } @Documented @interface DSample { String doc(); } public class MetaAnnotate { public static void main(String arg[]) { new MetaAnnotate().rentent(); new MetaAnnotate().doc(); } @RSample (rentent="Meta Info R") public void rentent() { System.out.println("Retention Policy Applied"); } @DSample(doc="Meta Info D") public void doc() { System.out.println("Code Documented with the value"); } }
Output:
Penjelasan:
Terdapat tiga kategori anotasi, dan terdapat seperti berikut:
1. Anotasi Penanda – Jenis anotasi ini digunakan sebagai pengisytiharan untuk memberitahu pembangun tentang fungsi atau kelas di bawah, iaitu, ia berkongsi maklumat tambahan tentang fungsi atau kelas seperti sama ada fungsi itu mengatasi fungsi lain atau adalah fungsi ditamatkan, dsb. @Override, @Deprecated dianggap sebagai anotasi penanda.
Contoh: DemoAnnotation()
2. Anotasi Nilai Tunggal – Anotasi jenis ini mengambil nilai untuk menentukan nilai itu untuk ahli yang mana anotasi diletakkan di hadapan dan oleh itu, tidak perlu menyatakan nama ahli tersebut.
Contoh: DemoAnnotation(“custId123”)
3. Anotasi Penuh – Anotasi jenis ini mengambil pelbagai nilai, pasangan, ahli.
Contoh: DemoAnotasi(kategori=”Mainan”, nilai=1500)
Anotasi tersuai dibuat oleh antara muka pengguna, diikuti dengan nama anotasi, seperti yang akan kita lihat dalam contoh di bawah.
Fail 1: Anotasi Tersuai Ditakrifkan
import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @interface Magicians { String Wizard() default "Reynolds"; String House() default "Green"; } @Magicians public class Magician { @Magicians(Wizard = "Harry Potter", House = "Red") public String getString() { return null; } }
Fail 2: Kelas Utama yang memanggil Kelas Anotasi Tersuai
import java.lang.annotation.Annotation; import java.lang.reflect.AnnotatedElement; import java.lang.reflect.Method; public class MyCustomAnnotation { public static void main(String[] args) throws NoSuchMethodException, SecurityException { new Magician(); Class<Magician> magic = Magician.class; readAnnotationOn(magic); Method method = magic.getMethod("getString", new Class[]{}); readAnnotationOn(method); } static void readAnnotationOn(AnnotatedElement element) { try { System.out.println("\n Find annotations on " + element.getClass().getName()); Annotation[] annotations = element.getAnnotations(); for (Annotation annotation : annotations) { if (annotation instanceof Magicians) { Magicians mData = (Magicians) annotation; System.out.println("Wizard Name :" + mData.Wizard()); System.out.println("Wizard House Color :" + mData.House()); } } } catch (Exception e) { e.printStackTrace(); } } }
Output:
Dalam artikel ini, kami melihat tentang apa itu anotasi java dan jenisnya dengan contoh, kami melihat contoh anotasi terbina dalam yang disediakan oleh java dan mengodkan anotasi tersuai kami. Kami melihat anotasi yang berguna dalam menyeragamkan kod dan juga membantu dalam memahami kod dan strukturnya dengan lebih baik.
Atas ialah kandungan terperinci Anotasi Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!