Enums en Java
Lista un conjunto fijo de nombres con enum para que el programa elija solo de esa lista. Escribe enum Level con LOW, MEDIUM y HIGH. En Yard.java, asigna Level mark = Level.MEDIUM; e imprime mark. Compila con javac Yard.java y ejecuta java Yard. La pantalla debe mostrar MEDIUM. Una segunda demo ejecuta un switch sobre el mismo mark e imprime medium. Deja las clases abstract para la pagina siguiente — esta leccion es una lista corta de nombres fijos y como imprimes o ramificas sobre uno de ellos.
Imprime un nombre enum
La pagina de interfaces relleno promesas vacias de metodo con implements. Esta pagina lista constantes en su lugar. Abre Yard.java. Mantén el nombre de clase publica Yard. Borra demos sobrantes de Signal / implements si entierran la historia del enum, archivos horn de Truck, demos de ruta y cualquier Scanner de teclado. El programa no debe esperar que escribas. No necesitas linea import.
Declara el enum encima de la clase publica:
enum Level {
LOW,
MEDIUM,
HIGH
}
Separa los nombres con comas. Manténlos en mayusculas en esta forma para principiantes. El ultimo nombre no necesita coma final para este archivo de enseñanza.
Dentro de Yard.main, elige un nombre e imprímelo:
Level mark = Level.MEDIUM;
System.out.println(mark);
No escribes new Level(). Escribes el nombre del tipo, un punto y 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);
}
}
Desde la carpeta que guarda Yard.java, ejecuta javac Yard.java. Cuando parentesis, llaves y puntos y coma coinciden, javac no escribe una linea propia. Luego ejecuta java Yard — no java Yard.java. Deja fuera la extension .java del comando de ejecucion. Mantén una clase publica en el archivo para que el nombre coincida con Yard. El enum Level se queda sin public en esta forma para principiantes cuando esta junto a Yard en el mismo archivo.
La pantalla muestra MEDIUM. Recorre la ejecucion una vez. Java empieza en Yard.main. La variable mark guarda la constante Level.MEDIUM. Imprimir mark escribe el nombre de esa constante. Los otros nombres LOW y HIGH siguen disponibles en el tipo, pero esta demo solo imprime el que asignaste.
Lee la linea de asignacion otra vez: el tipo es Level, el valor es Level.MEDIUM. Ambos lados pertenecen al mismo enum. No construyes una cadena de texto libre; eliges un nombre listado. Mantén ese habito cuando mas tarde cambies mark a LOW o HIGH en un experimento privado — solo los nombres de la lista del enum son legales.
Si aun ves honk de un archivo de interface, cambia al archivo de enseñanza del enum y ejecuta java Yard otra vez. Si javac se queja de una constante faltante, revisa la ortografia y la forma en mayusculas de MEDIUM. Si intentas inventar un cuarto nombre en el sitio de llamada sin listarlo en el enum, javac rechaza — la lista del enum es el conjunto permitido.
Di la regla en voz alta mientras miras la pantalla: el enum lista los nombres, el codigo elige uno con un punto, la impresion muestra ese nombre. No inventes una clase abstract en esta pagina. Las clases abstract esperan la leccion siguiente.
Ramifica sobre el enum con switch
Un segundo programa mantiene la misma lista Level. main sigue asignando Level.MEDIUM. Un switch sobre mark imprime una palabra en minusculas para el caso elegido.
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;
}
}
}
Compila con javac Yard.java, luego ejecuta java Yard. La pantalla muestra medium. El switch entro en el caso MEDIUM porque mark tenia Level.MEDIUM. El break detiene ese caso para que los casos posteriores no se ejecuten. Cambia solo la constante asignada en un experimento posterior si quieres ver low o high — mantén la lista del enum igual.
Dentro de cada case, escribe el nombre de la constante desnudo: case MEDIUM:, no case Level.MEDIUM:. El switch ya conoce el tipo desde switch (mark). Mantén un break despues de cada impresion en esta forma para principiantes para que la salida de enseñanza sea una linea clara. Recorre los tres casos con los ojos una vez: LOW mapea a low, MEDIUM a medium, HIGH a high. Solo una de esas impresiones corre para una sola asignacion.
Si demos de interface sobrantes siguen cerca, conservalas como historia. Para esta leccion ejecuta el archivo de enseñanza del enum para que la pantalla muestre MEDIUM o medium, no honk. Si javac se queja de tipos publicos duplicados, aun tienes mas de un tipo public en el archivo — mantén solo Yard publico.
Los tres nombres 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 |
La tabla es el mapa corto de esta pagina. El enum guarda los tres nombres. La primera demo imprime el nombre del medio como MEDIUM. La segunda demo mapea esa misma eleccion a la palabra en minusculas medium. Mantén la lista corta y fija; no trates mark como un String libre tipado en esta pagina. |
Comparado con interfaces
En la pagina de interfaces, Signal prometio metodos vacios y Truck implements Signal los relleno. En esta pagina, enum Level lista nombres y Yard elige uno. Sigues compilando Yard.java y ejecutando java Yard. Los tokens nuevos son enum, la lista de constantes en mayusculas, Level.MEDIUM y — en la segunda demo — casos switch sobre esos nombres.
Si un archivo implements Signal sobrante sigue abierto, veras cuerpos de metodo y honk. Cambia al archivo enum para que arriba se vea enum Level y main asigne una constante. Mantén demos de clases abstract fuera de esta pagina. Mantén la entrada de teclado fuera de esta pagina.
Antes de las clases abstract
Puedes declarar enum Level con LOW, MEDIUM y HIGH, asignar Level.MEDIUM y ver MEDIUM en la pantalla. Puedes hacer switch sobre ese mark y ver medium. Compila Yard.java y ejecuta java Yard para cada demo que conserves, una tras otra. El programa eligio de una lista fija. La pagina siguiente son las clases abstract, donde un tipo padre puede dejar un metodo sin cuerpo completo para que los hijos lo terminen.
Mantén la demo de impresion para una constante clara en la pantalla. Mantén la demo de switch para una rama clara sobre esa constante. Mantén archivos abstract fuera de esta pagina. Esos tres habitos son el punto de control antes de seguir. Cuando MEDIUM aparece de una impresion directa — y cuando medium aparece del switch — los enums hicieron su trabajo para esta leccion y estas listo para el tema siguiente sobre clases abstract.
Un ultimo recorrido por la carpeta: un Yard publico, un enum Level con tres nombres, sin espera de teclado, sin forzar una clase abstract. Ejecuta javac Yard.java y java Yard una vez mas sobre la demo que tienes abierta. Si la pantalla aun encaja con la historia de la fila media de la tabla, la lista del enum es solida y el curso puede pasar a clases abstract en la pagina siguiente.
🧠 Pon a Prueba tu Conocimiento
Pon a Prueba tu Conocimiento
Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema
📝 Instrucciones
- Lee cada pregunta cuidadosamente
- Selecciona la mejor respuesta para cada pregunta
- Puedes repetir el quiz tantas veces como quieras
- Tu progreso se mostrará en la parte superior