English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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
Classe parente héritée par la classe anonyme
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.
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.
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.
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.