Java - Kelas Anonim

Hai teman-teman, para ahli Java masa depan! Hari ini, kita akan memulai sebuah perjalanan yang menarik ke dunia Kelas Anonim di Java. Jangan khawatir jika Anda baru belajar programming; saya akan memandu Anda melalui konsep ini langkah demi langkah, dengan banyak contoh dan penjelasan. mari kita mulai!

Java - Anonymous Class

Apa Itu Kelas Anonim?

Imaginasi Anda di sebuah pesta masker. Semua orang memakai masker, dan Anda tidak bisa mengenali siapa siapa. Itu seperti kelas anonim di Java - mereka adalah kelas tanpa nama, disembunyi di balik masker kode!

Kelas anonim adalah jenis khusus dari kelas inner yang tidak memiliki nama. Itu dideklarasikan dan diinstansiasi dalam satu ekspresi menggunakan kata kunci new.

Mengapa Menggunakan Kelas Anonim?

  1. Mereka sangat cocok untuk penggunaan satu kali.
  2. Mereka membantu menjaga kode Anda lebih ringkas.
  3. Mereka sempurna untuk mengimplementasikan antar muka sederhana atau mengextend kelas secara langsung.

Cara Mendefinisikan Kelas Anonim

Mari kita mulai dengan contoh sederhana:

interface Greeting {
void greet();
}

public class AnonymousClassDemo {
public static void main(String[] args) {
Greeting englishGreeting = new Greeting() {
@Override
public void greet() {
System.out.println("Hello, World!");
}
};

englishGreeting.greet();
}
}

Dalam contoh ini, kita telah menciptakan kelas anonim yang mengimplementasikan antar muka Greeting. mari kitauraikan ini:

  1. Kita mendefinisikan antar muka sederhana Greeting dengan satu method, greet().
  2. Dalam method main, kita menciptakan instance dari Greeting menggunakan kelas anonim.
  3. Kelas anonim menyediakan implementasi untuk method greet().
  4. Kita memanggil method greet() pada objek englishGreeting.

Ketika Anda menjalankan kode ini, itu akan mencetak "Hello, World!" ke konsol.

Jenis-Jenis Kelas Inner Anonim di Java

Ada tiga jenis utama kelas inner anonim di Java:

  1. Kelas anonim yang mengextend kelas
  2. Kelas anonim yang mengimplementasikan antar muka
  3. Kelas anonim yang didefinisikan dalam method/constructor argumen

Mari kita lihat contoh dari masing-masing:

1. Kelas Anonim yang Mengextend Kelas

abstract class Animal {
abstract void makeSound();
}

public class AnonymousClassExtend {
public static void main(String[] args) {
Animal dog = new Animal() {
@Override
void makeSound() {
System.out.println("Woof! Woof!");
}
};

dog.makeSound();
}
}

Dalam contoh ini, kita menciptakan kelas anonim yang mengextend kelas abstrak Animal dan menyediakan implementasi untuk method makeSound().

2. Kelas Anonim yang Mengimplementasikan Antar Muka

Kita sudah melihat ini di contoh pertama, tapi mari kita lihat lagi:

interface Calculatable {
int calculate(int a, int b);
}

public class AnonymousClassImplement {
public static void main(String[] args) {
Calculatable adder = new Calculatable() {
@Override
public int calculate(int a, int b) {
return a + b;
}
};

System.out.println("5 + 3 = " + adder.calculate(5, 3));
}
}

Kelas anonim ini mengimplementasikan antar muka Calculatable dan menyediakan implementasi untuk method calculate() yang menambahkan dua angka.

3. Kelas Anonim Dalam Method/Constructor Argumen

public class AnonymousClassArgument {
public static void main(String[] args) {
Thread t = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("Thread anonim sedang berjalan!");
}
});

t.start();
}
}

Di sini, kita menciptakan kelas anonim yang mengimplementasikan antar muka Runnable secara langsung sebagai argumen ke constructor Thread.

Kapan Menggunakan Kelas Anonim

Kelas anonim sangat berguna ketika:

  1. Anda perlu mengimplementasikan antar muka atau mengextend kelas untuk penggunaan satu kali.
  2. Implementasi sangat pendek dan sederhana.
  3. Anda ingin menghindari membuat kelas yang dinamai untuk operasi sederhana.

Namun, jika Anda menemukan bahwa Anda mengulangi penggunaan kelas anonim secara berulang, mungkin lebih baik membuat kelas yang dinamai saja.

Batasan Kelas Anonim

Meskipun kelas anonim sangat kuat, mereka memiliki beberapa batasan:

  1. Mereka hanya dapat mengimplementasikan satu antar muka atau mengextend satu kelas pada satu waktu.
  2. Mereka tidak dapat memiliki inisialisasi statis atau antar muka anggota.
  3. Mereka tidak memiliki constructor (sejak mereka tidak memiliki nama).

Kesimpulan

Kelas anonim di Java seperti agen rahasia di kode Anda - mereka datang, melakukan pekerjaan mereka, dan hilang tanpa meninggalkan jejak (atau nama). Mereka adalah alat yang kuat untuk membuat kelas penggunaan tunggal yang membuat kode Anda lebih ringkas dan mudah dibaca.

Ingat, seperti dengan semua konsep programming, latihan membuat sempurna. Cobalah menciptakan kelas anonim Anda sendiri dan eksperimen dengan berbagai kasus penggunaan. Sebelum Anda tahu, Anda akan menjalankan kelas anonim seperti seorang Java ninja!

Semoga Anda senang coding, dan kelas anonim Anda selalu menyapa Anda dengan "Hello, World!" yang ceria!

Credits: Image by storyset