Kelas Tanpa Nama Java

Dalam tutorial ini, anda akan belajar mengenai kelas tanpa nama di Java dengan bantuan contoh.

Di Jawa, kelas boleh mengandungi kelas lain yang dikenali sebagai kelas bersarang. Anda boleh membuat kelas bersarang tanpa memberikan nama.

Kelas bersarang yang tidak mempunyai nama dikenali sebagai kelas tanpa nama.

Kelas tanpa nama mesti ditentukan dalam kelas lain. Oleh itu, ia juga dikenali sebagai kelas dalaman tanpa nama. Sintaksnya adalah:

 class outerClass ( // defining anonymous class object1 = new Type(parameterList) ( // body of the anonymous class ); ) 

Kelas tanpa nama biasanya memperluas subkelas atau melaksanakan antara muka.

Di sini, Jenis boleh

  1. superclass yang dilanjutkan oleh kelas tanpa nama
  2. antara muka yang dilaksanakan oleh kelas tanpa nama

Kod di atas membuat objek object1, dari kelas tanpa nama pada waktu runtime.

Catatan: Kelas tanpa nama didefinisikan di dalam ungkapan. Jadi, titik koma digunakan pada akhir kelas tanpa nama untuk menunjukkan akhir ungkapan.

Contoh 1: Kelas Tanpa Nama Memanjangkan Kelas

 class Polygon ( public void display() ( System.out.println("Inside the Polygon class"); ) ) class AnonymousDemo ( public void createClass() ( // creation of anonymous class extending class Polygon Polygon p1 = new Polygon() ( public void display() ( System.out.println("Inside an anonymous class."); ) ); p1.display(); ) ) class Main ( public static void main(String() args) ( AnonymousDemo an = new AnonymousDemo(); an.createClass(); ) ) 

Pengeluaran

 Di dalam kelas tanpa nama. 

Dalam contoh di atas, kami telah membuat kelas Poligon. Ia mempunyai kaedah tunggal display().

Kami kemudian membuat kelas tanpa nama yang memperluas kelas Poligon dan mengesampingkan display()kaedah.

Semasa kami menjalankan program, objek p1 dari kelas tanpa nama dibuat. Objek kemudian memanggil display()kaedah kelas tanpa nama.

Contoh 2: Kelas Tanpa Nama yang Melaksanakan Antaramuka

 interface Polygon ( public void display(); ) class AnonymousDemo ( public void createClass() ( // anonymous class implementing interface Polygon p1 = new Polygon() ( public void display() ( System.out.println("Inside an anonymous class."); ) ); p1.display(); ) ) class Main ( public static void main(String() args) ( AnonymousDemo an = new AnonymousDemo(); an.createClass(); ) ) 

Pengeluaran

 Di dalam kelas tanpa nama. 

Dalam contoh di atas, kami telah membuat kelas tanpa nama yang menerapkan Polygonantara muka.

Kelebihan Kelas Tanpa Nama

Dalam kelas tanpa nama, objek dibuat setiap kali diperlukan. Artinya, objek diciptakan untuk melakukan beberapa tugas tertentu. Sebagai contoh,

 Object = new Example() ( public void display() ( System.out.println("Anonymous class overrides the method display()."); ) ); 

Di sini, objek kelas tanpa nama dibuat secara dinamik apabila kita perlu mengatasi display()kaedah tersebut.

Kelas tanpa nama juga membantu kami membuat kod kami ringkas.

Artikel menarik...