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

Anotasi Jawa

Anotasi Java

Dalam tutorial ini, kita akan mempelajari apa itu anotasi, anotasi Java yang berbeda dan cara menggunakannya dengan bantuan contoh.

Anotasi Java adalah metadata (data tentang data) untuk kode sumber program kami.

Mereka memberikan informasi tambahan tentang program ke kompiler tetapi bukan bagian dari program itu sendiri. Anotasi ini tidak memengaruhi eksekusi program yang dikompilasi.

Anotasi dimulai dengan @ . Sintaksnya adalah:

@AnnotationName

Mari kita ambil contoh @Override anotasi.

@Override anotasi menetapkan bahwa metode yang telah ditandai dengan anotasi ini menimpa metode superclass dengan nama metode, tipe kembalian, dan daftar parameter yang sama.

Tidak wajib menggunakan @Override saat mengganti metode. Namun, jika kita menggunakannya, kompilator memberikan kesalahan jika ada yang salah (seperti tipe parameter yang salah) saat mengganti metode.

Contoh 1:Contoh Anotasi @Override

class Animal {
  public void displayInfo() {
    System.out.println("I am an animal.");
  }
}

class Dog extends Animal {
  @Override
  public void displayInfo() {
    System.out.println("I am a dog.");
  }
}

class Main {
  public static void main(String[] args) {
    Dog d1 = new Dog();
    d1.displayInfo();
  }
}

Keluaran

I am a dog.

Dalam contoh ini, metode displayInfo() hadir di kedua superclass Hewan dan subkelas Anjing . Saat metode ini dipanggil, metode dari subkelas akan dipanggil sebagai ganti metode di superkelas.


Format anotasi

Anotasi juga dapat menyertakan elemen (anggota/atribut/parameter).

1. Anotasi Penanda

Anotasi penanda tidak mengandung anggota/elemen. Ini hanya digunakan untuk menandai deklarasi.

Sintaksnya adalah:

@AnnotationName()

Karena anotasi ini tidak mengandung elemen, tanda kurung dapat dikecualikan. Misalnya,

@Override

2. Anotasi elemen tunggal

Anotasi elemen tunggal hanya berisi satu elemen.

Sintaksnya adalah:

@AnnotationName(elementName = "elementValue")

Jika hanya ada satu elemen, itu adalah konvensi untuk menamai elemen itu sebagai nilai .

@AnnotationName(value = "elementValue")

Dalam hal ini, nama elemen juga dapat dikecualikan. Nama elemen akan menjadi nilai secara default.

@AnnotationName("elementValue")

3. Beberapa elemen Anotasi

Anotasi ini berisi beberapa elemen yang dipisahkan dengan koma.

Sintaksnya adalah:

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

Penempatan anotasi

Deklarasi apa pun dapat ditandai dengan anotasi dengan menempatkannya di atas deklarasi itu. Pada Java 8, anotasi juga dapat ditempatkan sebelum tipe.

1. Deklarasi di atas

Seperti disebutkan di atas, anotasi Java dapat ditempatkan di atas kelas, metode, antarmuka, bidang, dan deklarasi elemen program lainnya.

Contoh 2:Contoh Anotasi @SuppressWarnings

import java.util.*;

class Main {
  @SuppressWarnings("unchecked")
  static void wordsList() {
    ArrayList wordList = new ArrayList<>();

// This causes an unchecked warning
    wordList.add("programiz"); 

    System.out.println("Word list => " + wordList);
  }

  public static void main(String args[]) {
    wordsList();
  }
}

Keluaran

Word list => [programiz]

Jika program di atas dikompilasi tanpa menggunakan @SuppressWarnings("unchecked") anotasi, compiler akan tetap mengkompilasi program tetapi akan memberikan peringatan seperti:

Main.java uses unchecked or unsafe operations.
Word list => [programiz]

Kami mendapatkan peringatan

Main.java uses unchecked or unsafe operations

karena pernyataan berikut.

ArrayList wordList = new ArrayList<>();

Ini karena kita belum mendefinisikan tipe generik dari daftar array. Kami dapat memperbaiki peringatan ini dengan menentukan generik di dalam kurung sudut <> .

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

2. Ketik anotasi

Sebelum Java 8, anotasi hanya dapat diterapkan pada deklarasi. Sekarang, anotasi jenis dapat digunakan juga. Ini berarti bahwa kita dapat menempatkan anotasi di mana pun kita menggunakan suatu jenis.

Panggilan konstruktor

new @Readonly ArrayList<>()

Ketik definisi

@NonNull String str;

Deklarasi ini menetapkan variabel non-null str bertipe String untuk menghindari NullPointerException .

@NonNull List<String> newList;

Deklarasi ini menetapkan daftar non-null dari tipe String .

List<@NonNull String> newList;

Deklarasi ini menetapkan daftar nilai non-null dari tipe String .

Ketik gips

newStr = (@NonNull String) str;

memperluas dan mengimplementasikan klausa

class Warning extends @Localized Message

melempar klausa

public String readMethod() throws @Localized IOException

Anotasi jenis memungkinkan kode Java dianalisis dengan lebih baik dan memberikan pemeriksaan jenis yang lebih kuat.


Jenis Anotasi

1. Anotasi standar

  1. @Deprecated
  2. @Override
  3. @SuppressWarnings
  4. @SafeVarargs
  5. @FunctionalInterface

2. Anotasi meta

  1. @Retention
  2. @Documented
  3. @Target
  4. @Inherited
  5. @Repeatable

3. Anotasi khusus

Jenis anotasi ini dijelaskan secara rinci dalam tutorial Jenis Anotasi Java.


Penggunaan Anotasi


java

  1. Operator Jawa
  2. Komentar Jawa
  3. Pernyataan Java if...else
  4. Java untuk setiap Loop
  5. String Jawa
  6. Antarmuka Jawa
  7. Kelas Anonim Java
  8. Java mencoba-dengan-sumber daya
  9. Pernyataan Jawa
  10. Vektor Jawa