Java Anonymous Class

În acest tutorial, veți afla despre cursuri anonime în Java cu ajutorul exemplelor.

În Java, o clasă poate conține o altă clasă cunoscută sub numele de clasă imbricată. Este posibil să creați o clasă imbricată fără a da niciun nume.

O clasă imbricată care nu are niciun nume este cunoscută ca o clasă anonimă.

O clasă anonimă trebuie definită în interiorul altei clase. Prin urmare, este cunoscută și ca o clasă interioară anonimă. Sintaxa sa este:

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

Clasele anonime extind de obicei subclasele sau implementează interfețe.

Aici, Type poate fi

  1. o superclasă pe care o clasă anonimă o extinde
  2. o interfață pe care o clasă anonimă o implementează

Codul de mai sus creează un obiect, object1o clasă anonimă în timpul rulării.

Notă: Clasele anonime sunt definite în interiorul unei expresii. Deci, punctul și virgula este folosit la sfârșitul claselor anonime pentru a indica sfârșitul expresiei.

Exemplul 1: Clasa anonimă Extinderea unei clase

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

Ieșire

 În interiorul unei clase anonime. 

În exemplul de mai sus, am creat o clasă Poligon. Are o singură metodă display().

Apoi am creat o clasă anonimă care extinde clasa Poligon și suprascrie display()metoda.

Când rulăm programul, se creează un obiect p1 al clasei anonime. Obiectul apelează apoi display()metoda clasei anonime.

Exemplul 2: Clasa anonimă care implementează o interfață

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

Ieșire

 În interiorul unei clase anonime. 

În exemplul de mai sus, am creat o clasă anonimă care implementează Polygoninterfața.

Avantajele claselor anonime

În clasele anonime, obiectele sunt create ori de câte ori sunt necesare. Adică, obiectele sunt create pentru a efectua anumite sarcini specifice. De exemplu,

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

Aici, un obiect al clasei anonime este creat dinamic atunci când trebuie să suprascrieți display()metoda.

Clasele anonime ne ajută, de asemenea, să facem codul nostru concis.

Articole interesante...