• Home
  • Docker
  • Kubernetes
  • LLMs
  • Java
  • Ubuntu
  • Maven
  • Big Data
  • Archived
Java | Enums
  1. Enums
  2. Utilisation des enums
    1. Exemple 1
    2. Exemple 2
    3. Exemple 3

  1. 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 pas 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.
  2. Utilisation des enums
    1. Exemple 1

      Résultat d'exécution du code :
    2. Exemple 2
      Il est possible de déclarer un constructeur global pour l'enum (la classe), mais il n'est pas possible de déclarer un constructeur local pour une énumération (élément de l'enum).
      Il est possible de déclarer des attributs (d'instance et statiques) pour l'enum (la classe).

      Résultat d'exécution du code :
    3. Exemple 3
      Il est possible de déclarer des méthodes globales pour l'enum (la classe), qui seront visibles en dehors de l'enum (la visibilité dépendra des modificateurs d'accès).

      Il est possible de déclarer des méthodes locales pour les énumérations (éléments de l'enum), mais elles ne seront pas visibles en dehors du code des énumérations.

      Il est possible de déclarer des méthodes globales abstraites pour l'enum (la classe), mais dans ce cas elles doivent être implémentées par toutes les énumérations.

      Il est possible de déclarer des variables locales pour les énumérations (éléments de l'enum), mais elles ne seront pas visibles en dehors du code des énumérations.

      Résultat d'exécution du code :
© 2025  mtitek