Comment une classe anonyme peut-elle étendre une superclasse ou implémenter une interface?
java
anonymous-class
Mike Rylander
la source
la source
Réponses:
Les classes anonymes doivent étendre ou implémenter quelque chose, comme toute autre classe Java, même si c'est juste
java.lang.Object
.Par exemple:
Voici
r
un objet d'une classe anonyme qui implémenteRunnable
.Une classe anonyme peut étendre une autre classe en utilisant la même syntaxe:
Ce que vous ne pouvez pas faire, c'est implémenter plus d'une interface. Vous avez besoin d'une classe nommée pour cela. Cependant, ni une classe interne anonyme, ni une classe nommée ne peuvent étendre plus d'une classe.
la source
SomeClass
. Il est toujours anonyme, en raison du{...}
.Une classe anonyme implémente généralement une interface:
Si vous voulez dire si vous pouvez implémenter 2 interfaces ou plus, je pense que ce n'est pas possible. Vous pouvez ensuite créer une interface privée qui combine les deux. Bien que je ne puisse pas facilement imaginer pourquoi vous voudriez qu'une classe anonyme ait cela:
la source
Les classes anonymes étendent toujours la superclasse ou implémentent des interfaces. par exemple:
De plus, bien que la classe anonyme ne puisse pas implémenter plusieurs interfaces, vous pouvez créer une interface qui étend une autre interface et laisser votre classe anonyme l'implémenter.
la source
Je suppose que personne n'a compris la question. Je suppose que ce que ce gars voulait, c'était quelque chose comme ça:
car cela permettrait des choses comme les implémentations d'interfaces multiples:
ce serait vraiment bien; mais ce n'est pas autorisé en Java .
Ce que vous pouvez faire est d'utiliser des classes locales dans des blocs de méthodes:
la source
la source
Une classe anonyme étend ou implémente lors de la création de son objet Par exemple:
Ici, une classe anonyme implémente Interface.
ici la classe anonyme étend une classe abstraite.
la source