Enums
Un enum est un type spécial de données qui fournit un jeu de constantes prédéfinies.
Il est tout à fait possible de créer un enum personnalisé : il se définit comme une classe ou une interface dans son propre fichier, avec le mot-clé enum.
Par exemple :
public enum Direction {
NORD, SUD, EST, OUEST
}
On peut également lui donner des attributs, des méthodes et un constructeur. La contrainte principale est alors que le constructeur doit être privé ou package privé : il est impossible de créer une valeur d’enum directement, ces valeurs ne peuvent être que celles déclarées dans l’enum. Cette contrainte interdit aussi tout héritage de l’enum.
public enum Direction {
NORD("septentrion"),
SUD("midi"),
EST("levant"),
OUEST("ponant"); // le point-virgule est maintenant nécessaire
// car des membres existent dans l'enum
private String ancienNom;
private Direction(String nom) {
this.ancienNom = nom;
}
// public Direction(String nom) { // ne compilera pas
// this.ancienNom = nom;
// ...