Enums en Java
Listez un ensemble fixe de noms avec enum pour que le programme choisisse uniquement dans cette liste. Écrivez enum Level avec LOW, MEDIUM et HIGH. Dans Yard.java, assignez Level mark = Level.MEDIUM; et imprimez mark. Compilez avec javac Yard.java et exécutez java Yard. L’écran doit montrer MEDIUM. Une deuxième démo exécute un switch sur le même mark et affiche medium. Laissez les classes abstract pour la page suivante — cette leçon est une courte liste de noms fixes et comment vous imprimez ou branchez sur l’un d’eux.
Affichez un nom enum
La page des interfaces a rempli des promesses de méthodes vides avec implements. Cette page liste des constantes à la place. Ouvrez Yard.java. Gardez le nom de classe public Yard. Supprimez les démos Signal / implements restantes si elles enterrent l’histoire de l’enum, les fichiers horn de Truck, les démos de chemin, et tout Scanner clavier. Le programme ne doit pas attendre la frappe. Vous n’avez pas besoin de ligne import.
Déclarez l’enum au-dessus de la classe publique :
enum Level {
LOW,
MEDIUM,
HIGH
}
Séparez les noms par des virgules. Gardez-les en majuscules sous cette forme débutant. Le dernier nom n’a pas besoin de virgule finale pour ce fichier d’enseignement.
Dans Yard.main, choisissez un nom et imprimez-le :
Level mark = Level.MEDIUM;
System.out.println(mark);
Vous n’écrivez pas new Level(). Vous écrivez le nom du type, un point et la constante : Level.MEDIUM.
enum Level {
LOW,
MEDIUM,
HIGH
}
public class Yard {
public static void main(String[] args) {
Level mark = Level.MEDIUM;
System.out.println(mark);
}
}
Depuis le dossier qui contient Yard.java, exécutez javac Yard.java. Quand parenthèses, accolades et points-virgules correspondent, javac n’écrit aucune ligne à lui. Puis exécutez java Yard — pas java Yard.java. Laissez l’extension .java hors de la commande d’exécution. Gardez une classe publique dans le fichier pour que le nom corresponde à Yard. L’enum Level reste sans public sous cette forme débutant quand il siège à côté de Yard dans le même fichier.
L’écran montre MEDIUM. Parcourez l’exécution une fois. Java démarre à Yard.main. La variable mark tient la constante Level.MEDIUM. Imprimer mark écrit le nom de cette constante. Les autres noms LOW et HIGH restent disponibles sur le type, mais cette démo n’imprime que celui que vous avez assigné.
Relisez la ligne d’assignation : le type est Level, la valeur est Level.MEDIUM. Les deux côtés appartiennent au même enum. Vous ne construisez pas une chaîne de texte libre ; vous choisissez un nom listé. Gardez cette habitude quand vous changez plus tard mark en LOW ou HIGH dans une expérience privée — seuls les noms de la liste de l’enum sont légaux.
Si vous voyez encore honk d’un fichier d’interface, passez au fichier d’enseignement de l’enum et exécutez java Yard à nouveau. Si javac se plaint d’une constante manquante, vérifiez l’orthographe et la forme majuscule de MEDIUM. Si vous inventez un quatrième nom au site d’appel sans le lister dans l’enum, javac refuse — la liste dans l’enum est l’ensemble autorisé.
Dites la règle à voix haute en regardant l’écran : l’enum liste les noms, le code en choisit un avec un point, l’impression montre ce nom. N’inventez pas une classe abstract sur cette page. Les classes abstract attendent la leçon suivante.
Branchez sur l’enum avec switch
Un second programme garde la même liste Level. main assigne encore Level.MEDIUM. Un switch sur mark affiche un mot en minuscules pour le cas choisi.
enum Level {
LOW,
MEDIUM,
HIGH
}
public class Yard {
public static void main(String[] args) {
Level mark = Level.MEDIUM;
switch (mark) {
case LOW:
System.out.println("low");
break;
case MEDIUM:
System.out.println("medium");
break;
case HIGH:
System.out.println("high");
break;
}
}
}
Compilez avec javac Yard.java, puis exécutez java Yard. L’écran montre medium. Le switch est entré dans le cas MEDIUM parce que mark tenait Level.MEDIUM. Le break arrête ce cas pour que les cas suivants ne s’exécutent pas. Changez seulement la constante assignée dans une expérience ultérieure si vous voulez voir low ou high — gardez la liste de l’enum identique.
Dans chaque case, écrivez le nom de constante nu : case MEDIUM:, pas case Level.MEDIUM:. Le switch connaît déjà le type depuis switch (mark). Gardez un break après chaque impression sous cette forme débutant pour que la sortie d’enseignement reste une ligne claire. Parcourez les trois cas des yeux une fois : LOW mappe vers low, MEDIUM vers medium, HIGH vers high. Une seule de ces impressions s’exécute pour une assignation.
Si des démos d’interface restantes restent proches, gardez-les comme histoire. Pour cette leçon, exécutez le fichier d’enseignement de l’enum pour que l’écran montre MEDIUM ou medium, pas honk. Si javac se plaint de types publics en double, vous avez encore plus d’un type public dans le fichier — gardez seulement Yard public.
Les trois noms Level
📊 Level enum names
| Name | Role on this page |
|---|---|
LOW |
listed constant; switch can print low |
MEDIUM |
assigned and printed in both demos |
HIGH |
listed constant; switch can print high |
Le tableau est la carte courte de cette page. L’enum tient les trois noms. La première démo imprime le nom du milieu comme MEDIUM. La deuxième démo mappe ce même choix vers le mot en minuscules medium. Gardez la liste courte et fixe ; ne traitez pas mark comme un String libre tapé sur cette page. |
Comparé aux interfaces
Sur la page des interfaces, Signal promettait des méthodes vides et Truck implements Signal les remplissait. Sur cette page, enum Level liste des noms et Yard en choisit un. Vous compilez encore Yard.java et exécutez java Yard. Les nouveaux jetons sont enum, la liste de constantes en majuscules, Level.MEDIUM, et — dans la deuxième démo — des cas switch sur ces noms.
Si un fichier implements Signal restant est encore ouvert, vous verrez des corps de méthodes et honk. Passez au fichier enum pour que le haut montre enum Level et que main assigne une constante. Gardez les démos de classes abstract hors de cette page. Gardez la saisie clavier hors de cette page.
Avant les classes abstract
Vous pouvez déclarer enum Level avec LOW, MEDIUM et HIGH, assigner Level.MEDIUM, et voir MEDIUM à l’écran. Vous pouvez faire un switch sur ce mark et voir medium. Compilez Yard.java et exécutez java Yard pour chaque démo conservée à tour de rôle. Le programme a choisi dans une liste fixe. La page suivante est les classes abstract, où un type parent peut laisser une méthode sans corps complet pour que les enfants la terminent.
Gardez la démo d’impression pour une constante claire à l’écran. Gardez la démo switch pour une branche claire sur cette constante. Gardez les fichiers abstract hors de cette page. Ces trois habitudes sont le point de contrôle avant d’avancer. Quand MEDIUM apparaît d’une impression directe — et quand medium apparaît du switch — les enums ont fait leur travail pour cette leçon et vous êtes prêt pour le sujet suivant sur les classes abstract.
Un dernier passage dans le dossier : un Yard public, un enum Level avec trois noms, pas d’attente clavier, pas de classe abstract forcée. Exécutez javac Yard.java et java Yard encore une fois sur la démo que vous gardez ouverte. Si l’écran correspond encore à l’histoire de la ligne du milieu du tableau, la liste de l’enum est solide et le cours peut passer aux classes abstract sur la page suivante.
🧠 Testez Vos Connaissances
Testez Vos Connaissances
Mettez-vous au défi avec ce quiz interactif et voyez à quel point vous comprenez le sujet
📝 Instructions
- Lisez chaque question attentivement
- Sélectionnez la meilleure réponse pour chaque question
- Vous pouvez refaire le quiz autant de fois que vous le souhaitez
- Votre progression sera affichée en haut