Dans la section précédente, nous avons découvert les classes internes, dans cette section, nous découvrirons les classes anonymes. Alors, qu’est-ce qu’un cours anonyme ? Comme leur nom l'indique, les classes anonymes sont des classes qui ne peuvent pas avoir de nom. Elles ne peuvent pas être référencées et ne peuvent être déclarées qu'avec la nouvelle instruction lors de leur création.
Pour utiliser des classes internes anonymes, nous devons hériter d'une classe parent ou implémenter une interface.
Les choses à noter sont :
1) Les constructeurs ne peuvent pas être définis dans des classes internes anonymes.
2) Il ne peut y avoir de variables membres statiques ni de méthodes statiques dans les classes internes anonymes.
3) Les classes internes anonymes sont des classes internes locales, donc toutes les restrictions sur les classes internes locales s'appliquent également aux classes internes anonymes.
Le format syntaxique des classes anonymes est le suivant :
classouterClass{//Définir une classe anonyme object1=newType(parameterList){//Anonymous class code};}
Remarque : Les classes anonymes étant définies sous forme d'expressions, elles se terminent par un point-virgule ;
Par exemple:
classDotcpp{publicvoiddisplay(){System.out.println (à l'intérieur de la classe Dotcpp);}}classAnonymousDemo{publicvoidcreateClass(){//La classe anonyme créée hérite de la classe Dotcpp Dotcppd1=newDotcpp(){publicvo iddisplay(){System.out.println(à l'intérieur de la classe anonyme);}};d1.display();}}classMain{publicstaticvoidmain(String[]args){AnonymousDemoan=newAnonymousDemo();an.createClass();} }
Les résultats en cours d'exécution sont les suivants :
dans une classe anonyme
Par exemple:
interfaceDotcpp{publicvoiddisplay();}classAnonymousDemo{publicvoidcreateClass(){//La classe anonyme créée implémente l'interface Dotcpp Dotcppd1=newDotcpp(){publicvoiddisplay(){Sy stem.out.println (à l'intérieur de la classe anonyme);}};d1.display();}}classMain{publicstaticvoidmain(String[]args){AnonymousDemoan=newAnonymousDemo();an.createClass();}}
Les résultats en cours d'exécution sont les suivants :
dans une classe anonyme
D'accord, tout le monde peut expérimenter sur l'ordinateur et digérer et absorber le contenu de cette section.