Enums
La création d'un type Enum
permet de limiter les valeurs des variables de ce type à une liste de valeurs prédéfinies.
Le mot clé enum
indique au compilateur qu'il s'agit d'une instruction spéciale qui nécessite d'être traduite en un code plus développé.
Le code précédent va être traduit en un code +- sous la forme suivante :
Il faut noter qu'il n'est pas possible d'hériter de la classe Enum
,
le compilateur se plaindra en affichant le message suivant :
"The type EnumSample1 may not subclass Enum explicitly".
Comme les enums héritent implicitement de la classe java.lang.Enum
,
il est possible de redéfinir certaines méthodes de cette classe ou de la classe Objet (exemple la méthode toString
).
Il faut, cependant, noter que certaines méthodes ont été redéfinies dans la classe java.lang.Enum
et ont été marquées comme finale (exemple la méthode equals
) et donc il n'est plus possible de les redéfinir dans les enums.
Sachant que l'implémentation interne du type Enum
importe peu aux développeurs, je vais me concentrer dans le reste de cete page sur des exemples d'utilisation des enums.