J'ai rencontré le code Java sur ce formulaire pour la première fois: où isomename est une interface qui a une méthode avec la même signature que SOMEMETHOD () ci-dessus. P > De ce que je peux comprendre, nous définissons une nouvelle classe Nameclass qui implémente l'isomename, créant un objet de cette classe à l'aide de constructeur par défaut et transmettre l'objet comme une dispute à la méthode. p> est ce droit ? P> Quel est le nom de cette fonctionnalité? p> p>
4 Réponses :
Il crée un classe anonyme em> .
Notez que dans la classe anonyme, vous pouvez vous reporter à des variables locales finales à partir du code précédent de la méthode, y compris les paramètres finaux: P>
final String name = getName(); Thread t = new Thread(new Runnable() { @Override public void run() { System.out.println(name); } }); t.start();
Ceci s'appelle des cours anonymes en Java. Cela signifie que vous créez une classe anonyme qui implémente une interface code> isomename est transmise en tant qu'argument à la méthode. P>
Bonne explication ici: Stackoverflow.com / Questions / 3167427 / ...
(Notez que si vous étendez une classe ici avec un constructeur non-ARGS, vous pouvez passer des arguments en utilisant la syntaxe évidente. Mais très rare.)