Classe anonyme Java

Table des matières

Dans ce didacticiel, vous découvrirez les classes anonymes en Java à l'aide d'exemples.

En Java, une classe peut contenir une autre classe appelée classe imbriquée. Il est possible de créer une classe imbriquée sans donner de nom.

Une classe imbriquée qui n'a aucun nom est appelée classe anonyme.

Une classe anonyme doit être définie dans une autre classe. Par conséquent, elle est également connue sous le nom de classe interne anonyme. Sa syntaxe est:

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

Les classes anonymes étendent généralement les sous-classes ou implémentent des interfaces.

Ici, Type peut être

  1. une superclasse qu'une classe anonyme étend
  2. une interface qu'une classe anonyme implémente

Le code ci-dessus crée un objet,, object1d'une classe anonyme au moment de l'exécution.

Remarque: les classes anonymes sont définies dans une expression. Ainsi, le point-virgule est utilisé à la fin des classes anonymes pour indiquer la fin de l'expression.

Exemple 1: Classe anonyme étendant une 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(); ) ) 

Production

 À l'intérieur d'une classe anonyme. 

Dans l'exemple ci-dessus, nous avons créé une classe Polygon. Il a une seule méthode display().

Nous avons ensuite créé une classe anonyme qui étend la classe Polygon et remplace la display()méthode.

Lorsque nous exécutons le programme, un objet p1 de la classe anonyme est créé. L'objet appelle ensuite la display()méthode de la classe anonyme.

Exemple 2: Classe anonyme implémentant une interface

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

Production

 À l'intérieur d'une classe anonyme. 

Dans l'exemple ci-dessus, nous avons créé une classe anonyme qui implémente l' Polygoninterface.

Avantages des classes anonymes

Dans les classes anonymes, les objets sont créés chaque fois qu'ils sont nécessaires. Autrement dit, les objets sont créés pour effectuer certaines tâches spécifiques. Par exemple,

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

Ici, un objet de la classe anonyme est créé dynamiquement lorsque nous devons redéfinir la display()méthode.

Les classes anonymes nous aident également à rendre notre code concis.

Articles intéressants...