English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Java

Contrôle de flux Java

Java Tableau

Java Programmation Orientée Objet (I)

Java Programmation Orientée Objet (II)

Java Programmation Orientée Objet (III)

Gestion des exceptions Java

Java List

Java Queue (File d'attente)

Java Map Collections

Java Set Collections

Java Entrée Sortie (I/O)

Java Reader/Writer

Autres sujets Java

Classes anonymes Java

Dans ce tutoriel, vous apprendrez les classes anonymes en Java à l'aide d'exemples.

Dans Java, une classe peut contenir une autre classe appelée classe imbriquée. Une classe imbriquée peut être créée sans fournir de nom.

Une classe imbriquée sans nom est appelée classe anonyme.

Il faut définir une classe anonyme dans une autre classe. Par conséquent, elle est également appelée classe interne anonyme. Sa syntaxe est :

class outerClass {
    //Définir une classe anonyme
    object1 = new Type(parameterList) {
         //Corps de la classe anonyme
    };
};

La classe anonyme hérite généralement d'une sous-classe ou implémente une interface.

Ici,Typepeut être

  1. Classe parente héritée par la classe anonyme

  2. Interface implémentée par la classe anonyme

Le code ci-dessus crée un objet de classe anonyme object au moment de l'exécution1。

Attention :La classe anonyme est définie à l'intérieur d'une expression. Par conséquent, un point-virgule est utilisé à la fin de la classe anonyme pour indiquer la fin de l'expression.

Exemple1:Classe anonyme héritant de la classe

class Polygon {
   public void display() {
      System.out.println("À l'intérieur de la classe Polygon");
   };
};
class AnonymousDemo {
   public void createClass() {
      //Création de la classe anonyme, héritage de la classe Polygon
      Polygon p1 = new Polygon() {
         public void display() {
            System.out.println("The internal structure of anonymous classes.");
         };
      };
      p1.display();
   };
};
class Main {
   public static void main(String[] args) {
       AnonymousDemo an = new AnonymousDemo();
       an.createClass();
   };
};

Output result

The internal structure of anonymous classes

Dans cet exemple, nous avons créé une classe Polygon. Elle possède une seule méthode display().

Ensuite, nous avons créé une classe anonyme qui hérite de la classe Polygon et redéfinit la méthode display().

Lorsque nous exécutons ce programme, nous créons un objet de classe anonyme p1。Ensuite, l'objet appelle la méthode display() de la classe anonyme.

Exemple2:Classe anonyme implémentant l'interface

interface Polygon {
   public void display();
};
class AnonymousDemo {
   public void createClass() {
      //Implémentation de l'interface de classe anonyme
      Polygon p1 = new Polygon() {
         public void display() {
            System.out.println("The internal structure of anonymous classes.");
         };
      };
      p1.display();
   };
};
class Main {
   public static void main(String[] args) {
      AnonymousDemo an = new AnonymousDemo();
      an.createClass();
   };
};

Output result

The internal structure of anonymous classes

In the above example, we created an anonymous class that implements the Polygon interface.

Advantages of anonymous classes

In the anonymous class, create objects as needed. That is, create objects to perform certain specific tasks. For example,

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

Here, when we need to overwrite the display() method, an object of the anonymous class will be dynamically created.

Anonymous classes also help us make the code concise.