Anonimni razred Java

U ovom ćete tutorijalu uz primjere naučiti o anonimnim predavanjima u Javi.

U Javi klasa može sadržavati drugu klasu poznatu kao ugniježđena klasa. Moguće je stvoriti ugniježđenu klasu bez davanja imena.

Ugniježđena klasa koja nema nikakav naziv poznata je kao anonimna klasa.

Anonimna klasa mora biti definirana unutar druge klase. Stoga je poznat i kao anonimna unutarnja klasa. Njegova sintaksa je:

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

Anonimne klase obično proširuju potklase ili implementiraju sučelja.

Ovdje Type može biti

  1. superrazred koji se proteže anonimni razred
  2. sučelje koje anonimna klasa provodi

Gornji kod stvara objekt object1,, anonimne klase za vrijeme izvođenja.

Napomena: Anonimne klase definirane su unutar izraza. Dakle, točka-zarez koristi se na kraju anonimnih klasa da označi kraj izraza.

Primjer 1: Anonimni razred koji produžuje razred

 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(); ) ) 

Izlaz

 Unutar anonimne nastave. 

U gornjem primjeru stvorili smo klasu Poligon. Ima jednu metodu display().

Zatim smo stvorili anonimnu klasu koja proširuje klasu Poligon i zamjenjuje display()metodu.

Kada pokrenemo program, stvara se objekt p1 anonimne klase. Zatim objekt poziva display()metodu anonimne klase.

Primjer 2: Anonimna klasa koja implementira sučelje

 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(); ) ) 

Izlaz

 Unutar anonimne nastave. 

U gornjem primjeru stvorili smo anonimnu klasu koja implementira Polygonsučelje.

Prednosti anonimnih satova

U anonimnim klasama objekti se stvaraju kad god su potrebni. Odnosno, objekti se stvaraju za obavljanje nekih specifičnih zadataka. Na primjer,

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

Ovdje se objekt anonimne klase stvara dinamički kada moramo nadjačati display()metodu.

Anonimni tečajevi također nam pomažu da naš kod bude koncizan.

Zanimljivi članci...