Kelas anonim memungkinkan Anda menulis kode kecil dan membiarkan Anda mendeklarasikan dan membuat instance kelas pada saat yang sama. Kelas-kelas ini tidak memiliki nama, ini digunakan ketika Anda ingin menggunakan kelas apa pun hanya sekali. Ini adalah aspek penting dari Pemrograman Java. Mari kita pahami apa itu Kelas Anonim di Java dengan urutan sebagai berikut:
print_r ()
- Mendeklarasikan Kelas Anonim
- Sintaks Kelas Anonim di Java
- Cara Membuat Kelas Anonim di Java
- Perbedaan antara Kelas Reguler dan Anonim
Mendeklarasikan Kelas Anonim
Biasanya kita membuat kelas yaitu kita mendeklarasikan kelas tetapi, kelas anonim adalah ekspresi yang berarti kita mendefinisikan kelas anonim di kelas lain ekspresi . Dengan kata sederhana, kelas dalam anonim adalah kelas tanpa nama dan hanya satu objek yang dibuat.
Kelas anonim berguna ketika kita harus membuat turunan dari objek dengan metode overloading kelas atau antarmuka tanpa membuat subkelas kelas.
Anonim dapat dibuat dengan dua cara:
- Kelas (bisa juga Abstrak)
- Antarmuka
Di kelas anonim kita dapat mendeklarasikan berikut ini:
- Fields
- Metode ekstra
- Penginisialisasi Instance
- Kelas lokal
Sintaks Kelas Anonim di Java
Sintaks kelas anonim sama seperti konstruktor kecuali ada definisi kelas di blok seperti yang ditunjukkan pada cuplikan di bawah ini:
// AnonymousClass = antarmuka, kelas abstrak / beton. AnonymousClass t = new AnonymousClass () {// metode dan kolom public void someMethod () {// kode ditempatkan di sini}}
Mari kita lihat contoh berikut ini:
Contoh berikut,HelloAnonymousClass
, menggunakan kelas anonim dalam pernyataan inisialisasi variabel lokalmenyapa seseorang
tetapi, menggunakan kelas lokal untuk inisialisasi variabelgreetWorld
:
public class HelloAnonymousClass {antarmuka HelloWorld {public void sayHello () public void sayHelloTo (String seseorang)} public void sayHello () {class GreetWorld mengimplementasikan HelloWorld {String name = 'world' public void sayHello () {sayHelloTo ('world')} public void sayHelloTo (String seseorang) {name = seseorang System.out.println ('Hello' + name)}} HelloWorld greetWorld = new GreetWorld () HelloWorld greetSomeone = new HelloWorld () {String name = 'jon' public void sayHello ( ) {sayHelloTo ('Jon')} public void sayHelloTo (String seseorang) {name = seseorang System.out.println ('hola' + name)}} greetWorld.sayHello () greetSomeone.sayHelloTo ('Doe')} public static void main (String ... args) {HelloAnonymousClass myApp = new HelloAnonymousClass () myApp.sayHello ()}}
Seperti yang telah kita lihat bahwa kelas anonim adalah ekspresi sintaksnya seperti konstruktor kecuali ada definisi kelas di blok tersebut. Pertimbangkan instantiasi objek greetSomeone:
HelloWorld greetSomeone = new HelloWorld () {String name = 'jon' public void sayHello () {sayHelloTo ('Jon')} public void sayHelloTo (String seseorang) {name = seseorang System.out.println ('hola' + name) }}
Kelas anonim terdiri dari berikut ini:
- operator baru.
- Itu dapat mengimplementasikan antarmuka atau memperluas kelas. Seperti pada contoh di atas, ini mengimplementasikan antarmuka.
- Ini berisi tanda kurung seperti kelas normal untuk meneruskan argumen ke konstruktor.
- Berisi body yang berisi deklarasi metode. Deklarasi tidak diperbolehkan.
Kelas anonim harus menjadi bagian dari pernyataan.
Dalam contoh di atas, ekspresi kelas anonim adalah bagian dari pernyataan yang dimulai olehmenyapa seseorang
.
Cara Membuat Kelas Anonim di Java
Ada 3 cara untuk membuat Inner Class di Java
- Dengan Memperluas Kelas
Kita dapat membuat kelas dalam anonim dengan memperluas kelas lain, misalkan kita harus membuat utas dengan menggunakan kelas Thread kita dapat membuat kelas dalam anonim daripada membuat kelas terpisah.
// Program untuk mengilustrasikan kelas Dalam Anonim dengan memperluas kelas kelas lain AnonymousThreadClass {public static void main (String [] args) {// Kelas Dalam Anonim yang memperluas kelas Thread Thread t = new Thread () {public void run () {System .out.println ('Anak!')}} t.start () System.out.println ('Parent!')}}
Keluaran:
apa itu jframe di java
Induk!
Anak!
- Dengan Menerapkan Antarmuka
Kita juga dapat membuat kelas dalam anonim dengan mengimplementasikan antarmuka. Sekarang, saat kita membuat kelas dalam dengan memperluas kelas, kita juga dapat membuat kelas yang mengimplementasikan antarmuka.
// Program untuk mengilustrasikan kelas Dalam Anonim dengan mengimplementasikan kelas antarmuka AnonymousThreadClass {public static void main (String [] args) {// Kelas Batin Anonim yang mengimplementasikan antarmuka Runnable r = new Runnable () {public void run () {System.out .println ('Anak!')}} Utas t = Utas baru (r) t.start () System.out.println ('Induk!')}}
Keluaran:
Induk!
Anak!
apa itu objek pemindai
- Sebagai argumen untuk Metode / Pembuat
Untuk memahami sintaks mari kita lihat contoh di bawah ini:
// Program untuk mengilustrasikan kelas Batin Anonim dengan kelas argumen AnonymousThreadClass {public static void main (String [] args) {// Kelas anonim dengan argumen konstruktor Thread t = new Thread (new Runnable () {public void run () {System. out.println ('Anak!')}}) t.start () System.out.println ('Parent!')}}
Keluaran:
Induk!
Anak!
Perbedaan Antara Kelas Dalam Reguler dan Anonim
Kami bisa menerapkan banyak antarmuka dengan menggunakan kelas normal tetapi, dengan kelas dalam anonim, kita hanya dapat mengimplementasikan satu antarmuka.
Dengan kelas reguler kita bisa memperluas kelas dan juga mengimplementasikan banyak antarmuka tetapi, dengan kelas dalam anonim, kita dapat memperluas kelas atau mengimplementasikan antarmuka tetapi tidak keduanya pada saat yang sama.
Dengan anonim kami tidak bisa menulis konstruktor karena kelas dalam anonim tidak memiliki nama dan nama konstruktor harus sama dengan nama kelas.
Di artikel ini, kita melihat apa itu kelas dalam anonim dan bagaimana kita bisa membuatnya. kita membahas sintaks kelas dalam anonim dan juga bagaimana kita dapat membuat kelas anonim dalam 3 cara dan dengan ini, kita sampai pada akhir artikel Kelas Anonim di Java ini. Lihat oleh Edureka.
Ada pertanyaan? Sebutkan di Bagian Komentar artikel ini dan kami akan menghubungi Anda kembali sesegera mungkin.