Les classes internes anonymes sont des classes internes définies lors de la création d'une instance sans nom explicite. Syntaxe : new 8e2669e9e9c18dd02e31fc0ba9ee2eba() { // Corps de classe interne anonyme}. Avantages : simplicité, réutilisation du code, portée locale. Inconvénients : mauvaise lisibilité et difficulté de débogage. Des exemples pratiques incluent le remplacement de classes anonymes et l'implémentation d'interfaces anonymes.
Guide de création de classe interne anonyme Java
Qu'est-ce qu'une classe interne anonyme ?
La classe interne anonyme est une classe interne définie lors de la création d'une instance. Ils n'ont pas de nom explicite et sont souvent utilisés pour remplacer ou implémenter une classe ou une interface dans un court délai.
Créer une classe interne anonyme
Pour créer une classe interne anonyme en Java, utilisez la syntaxe suivante :
new <基类或接口名>() { // 匿名内部类体 };
Le nom de la classe de base ou de l'interface est la classe ou l'interface dont la classe interne anonyme héritera ou implémentera. Le corps de la classe contient les définitions des méthodes et des champs de la classe interne anonyme.
Cas pratique
1. Remplacer les classes anonymes
Utilisez des classes internes anonymes pour remplacer la méthode run()
de la classe Runnable
: Runnable
类的 run()
方法:
Thread thread = new Thread(new Runnable() { @Override public void run() { System.out.println("匿名内部类线程运行"); } }); thread.start();
2. 实现匿名接口
使用匿名内部类实现 Comparator
List<String> strings = new ArrayList<>(); Comparator<String> comparator = new Comparator<>() { @Override public int compare(String s1, String s2) { return s1.length() - s2.length(); } }; strings.sort(comparator);
2. Implémenter une interface anonyme
Utiliser une classe interne anonyme pour implémenter l'interfaceComparator
: Portée locale : Les classes internes anonymes ne sont accessibles que dans la portée de la classe ou de la méthode qui les a créées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!