Classe anonima Java

In questo tutorial imparerai a conoscere le classi anonime in Java con l'aiuto di esempi.

In Java, una classe può contenere un'altra classe nota come classe nidificata. È possibile creare una classe annidata senza dare alcun nome.

Una classe annidata che non ha alcun nome è nota come classe anonima.

Una classe anonima deve essere definita all'interno di un'altra classe. Quindi, è anche noto come una classe interna anonima. La sua sintassi è:

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

Le classi anonime di solito estendono sottoclassi o implementano interfacce.

Qui, Type può essere

  1. una superclasse che una classe anonima estende
  2. un'interfaccia implementata da una classe anonima

Il codice precedente crea un oggetto,, object1di una classe anonima in fase di esecuzione.

Nota: le classi anonime sono definite all'interno di un'espressione. Quindi, il punto e virgola viene utilizzato alla fine delle classi anonime per indicare la fine dell'espressione.

Esempio 1: classe anonima che estende una classe

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

Produzione

 All'interno di una classe anonima. 

Nell'esempio sopra, abbiamo creato una classe Polygon. Ha un unico metodo display().

Abbiamo quindi creato una classe anonima che estende la classe Polygon e sovrascrive il display()metodo.

Quando eseguiamo il programma, viene creato un oggetto p1 della classe anonima. L'oggetto chiama quindi il display()metodo della classe anonima.

Esempio 2: classe anonima che implementa un'interfaccia

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

Produzione

 All'interno di una classe anonima. 

Nell'esempio precedente, abbiamo creato una classe anonima che implementa l' Polygoninterfaccia.

Vantaggi delle classi anonime

Nelle classi anonime, gli oggetti vengono creati ogni volta che sono richiesti. Cioè, gli oggetti vengono creati per eseguire alcune attività specifiche. Per esempio,

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

Qui, un oggetto della classe anonima viene creato dinamicamente quando è necessario sovrascrivere il display()metodo.

Le classi anonime ci aiutano anche a rendere il nostro codice conciso.

Articoli interessanti...