bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/Java/Java Classes
Java•Java Classes

Java Enum Constructor

Flash cards

Review the key moves

1/4
Core idea

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.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ Level {
3Order

Put the learning moves in the order that makes the concept easiest to apply.

The constructor is called automatically when the constants are created.
An enum can also have a constructor just like a class.
Loop Through Enum with 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:

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());
}

Previous

Java Enums

Next

Java User Input (Scanner)