Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> java

Anotasi Java Dijelaskan: Jenis, Penempatan, dan Contoh Praktis

Anotasi Java Dijelaskan

Temukan apa itu anotasi Java, bagaimana mereka dikategorikan, dan cara menerapkannya secara efektif dengan contoh dunia nyata yang jelas.

Anotasi adalah metadata yang tertanam dalam kode sumber yang menyampaikan informasi tambahan kepada kompiler dan, saat diperlukan, ke sistem runtime. Mereka tidak menjadi bagian dari bytecode yang dieksekusi, tetapi dapat mempengaruhi kompilasi, generasi kode, dan refleksi.

Anotasi selalu dimulai dengan simbol @. Sintaks yang paling umum adalah:

@AnnotationName

Anotasi @Override dalam Aksi

Anotasi @Override menunjukkan bahwa sebuah metode dimaksudkan untuk meng-override metode superclass. Meskipun tidak wajib, menggunakannya memungkinkan kompiler untuk menandai ketidakcocokan seperti tanda tangan yang salah.

Contoh 1: Anotasi @Override

class Animal { public void displayInfo() { System.out.println("Saya adalah seekor hewan."); } } class Dog extends Animal { @Override public void displayInfo() { System.out.println("Saya adalah seekor anjing."); } } class Main { public static void main(String[] args) { Dog d1 = new Dog(); d1.displayInfo(); } } 

Output

Saya adalah seekor anjing. 

Dalam contoh ini, displayInfo() ada di baik Animal dan Dog. Metode yang di-override di Dog dieksekusi, menunjukkan polimorfisme.


Format Anotasi

Anotasi dapat mencakup anggota (atribut). Mereka dikelompokkan menjadi tiga kategori utama:

1. Marker Annotations

Ini tidak mengandung elemen dan digunakan hanya sebagai tanda. Kurung kurawal opsional.

@AnnotationName

2. Single-Element Annotations

Berisi satu elemen, biasanya bernama value. Ketika hanya satu elemen ada, namanya dapat dihilangkan.

@AnnotationName("elementValue")

3. Multi-Element Annotations

Mencakup beberapa elemen, dipisahkan dengan koma.

@AnnotationName(element1 = "value1", element2 = "value2")

Di Mana Menempatkan Anotasi

Anotasi dapat mendahului deklarasi apa pun: kelas, metode, field, antarmuka, dan lebih banyak. Sejak Java 8, mereka juga dapat mengannotasi tipe.

1. Di Atas Deklarasi

Penempatan umum: langsung di atas deklarasi target.

Contoh 2: Anotasi @SuppressWarnings

import java.util.*; class Main { @SuppressWarnings("unchecked") static void wordsList() { ArrayList wordList = new ArrayList<>(); // Ini menyebabkan peringatan unchecked wordList.add("programiz"); System.out.println("Daftar kata => " + wordList); } public static void main(String args[]) { wordsList(); } } 

Output

Daftar kata => [programiz] 

Tanpa @SuppressWarnings("unchecked"), kompiler akan mengeluarkan peringatan tentang operasi unchecked. Contoh ini juga menunjukkan bagaimana generics mengurangi peringatan ini:

ArrayList<String> wordList = new ArrayList<>();

2. Type Annotations (Java 8+)

Type annotations memungkinkan Anda untuk mengannotasi setiap kemunculan tipe, meningkatkan analisis statis dan null-safety.

// Pemanggilan konstruktor new @Readonly ArrayList<>(); // Definisi tipe @NonNull String str; @NonNull List<String> newList; List<@NonNull String> newList; // Type cast newStr = (@NonNull String) str; // Extends/implements class Warning extends @Localized Message // Klausa throws public String readMethod() throws @Localized IOException 

Anotasi ini memberdayakan alat untuk menegakkan pemeriksaan tipe yang lebih kuat dan mencegah kesalahan runtime seperti NullPointerException.


Jenis Anotasi

  1. Predefined Annotations
    • @Deprecated
    • @Override
    • @SuppressWarnings
    • @SafeVarargs
    • @FunctionalInterface
  2. Meta-Annotations
    • @Retention
    • @Documented
    • @Target
    • @Inherited
    • @Repeatable
  3. Custom Annotations

    Definisikan anotasi domain-spesifik untuk proyek Anda. Lihat Java Annotation Types tutorial untuk panduan.


Penggunaan Praktis Anotasi


java

  1. Menguasai Operator Java: Tipe, Sintaks, & Contoh Praktis
  2. Komentar Java: Tipe, Penggunaan, dan Best Practices
  3. Menguasai Java if…else: Alur Kontrol Dijelaskan
  4. Menguasai Java Enhanced For Loop: Sintaks, Contoh, dan Best Practices
  5. Menguasai String Java: Pembuatan, Metode, dan Best Practices
  6. Menguasai Antarmuka Java: Konsep, Implementasi, dan Praktik Terbaik
  7. Menguasai Kelas Dalam Anonim Java: Definisi, Sintaks, dan Contoh Praktis
  8. Menguasai Java Try-with-Resources: Manajemen Sumber Daya Otomatis Dijelaskan
  9. Pernyataan Java: Panduan Praktis untuk Mendeteksi Bug dan Memastikan Keandalan Kode
  10. Memahami Java Vector: Penggunaan, Fitur, dan Perbandingan dengan ArrayList