Bonne journée!(JAVA Enums) - Classe anonyme à l'intérieur de la constante enum
J'ai une interface qui implémente seulement une seule méthode. Je n'ai pas envie de faire plusieurs classes qui implémentent toutes cette méthode unique donc j'ai décidé d'utiliser des classes anonymes à la place.
J'utilise des énumérations pour certains éléments statiques, ces énumérations ont des instances de mon interface. Cependant, quand j'essaie de faire une classe anonyme dans mes constantes enum, mon IDE (eclipse) ne me dit rien (comme si elle était en dehors d'un bloc de code).
Ma question est la suivante: Puis-je utiliser des classes anonymes dans mes constantes enum?
Si mon texte n'était pas clair (Désolé je ne suis pas en anglais) s'il vous plaît voir l'exemple ci-dessous.
exemple de code
/**
* My Interface
*/
public interface IPotato {
public void eatPotato();
}
/**
* My enum class
*/
public enum PotatoEnum {
I_WANT_TO_EAT_POTATO(new IPotato() {
@Override
public void eatPotato() {
// Cant put code here.
} });
private IPotato _myAnonymousClass;
private PotatoEnum(IPotato anonymousClass){
this._myAnonymousClass = anonymousClass;
}
public IPotato getPotato(){
return _myAnonymousClass;
}
}
Oui, cela pourrait fonctionner. Vous pouvez même aller jusqu'à la mise en œuvre de l'interface enum – Ferrybig
Possible duplication de [Singletons, Enums et classes internes anonymes] (http://stackoverflow.com/questions/7599776/singletons-enums-and-anonymous-inner-classes) – SeniorJD