Java Enum Constructor
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:
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"
}
}
The output will be:
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:
for (Level myVar : Level.values()) {
System.out.println(myVar + ": " + myVar.getDescription());
}
The output will be:
LOW: Low level
MEDIUM: Medium level
HIGH: High level