Flash cards
Review the key moves
What is the main idea behind Java Enum Constructor?
Lesson checks
Practice each idea before moving on
Short Mimo-style checks built from this lesson's code, terms, and sequence.
Which statement best captures the main point of this lesson?
Complete the missing token from the example code.
___ Level {Put the learning moves in the order that makes the concept easiest to apply.
Enum Constructor
An enum can also have a constructor just like a class.
The constructor is called automatically when the constants are created. You cannot call it yourself.
Here, each constant in the enum has a value (a string) that is set through the constructor:
Runnable example
enum Level {
// Enum constants (each has its own description) LOW("Low level"), MEDIUM("Medium level"), HIGH("High level"); // Field (variable) to store the description text private String description; // Constructor (runs once for each constant above) private Level(String description) { this.description = description;
}
// Getter method to read the description public String getDescription() {
return description;
}
}
public class Main {
public static void main(String[] args) {
Level myVar = Level.MEDIUM; // Pick one enum constant
System.out.println(myVar.getDescription()); // Prints "Medium level"
}
}Note
The constructor for an enum must be private . If you don't write private , Java adds it automatically.
Loop Through Enum with Constructor
You can also loop through the constants and print their values using the values() method:
Runnable example
for (Level myVar : Level.values()) {
System.out.println(myVar + ": " + myVar.getDescription());
}