Die Aufzählungsklasse enum wurde in JDK1.5 eingeführt. Zuvor wurde der öffentliche statische final int enum_value anstelle der Aufzählungsklasse verwendet. Die Aufzählungsklasse enum ist eine spezielle Klasse, die standardmäßig die Klasse java.lang.Enum erbt. Wie andere gewöhnliche Klassen kann Enum auch Mitgliedsvariablen, Methoden und Konstruktoren haben und auch eine oder mehrere Schnittstellen implementieren. Der Unterschied ist:
1. Wenn ein Konstruktor vorhanden ist, muss dieser mit privat dekoriert werden.
2. Aufzählungsklassen können keine Unterklassen ableiten.
3. Alle Instanzen der Aufzählungsklasse müssen in der ersten Zeile klar definiert sein. Das System fügt diesen Instanzen automatisch öffentliche statische endgültige Änderungen hinzu, ohne dass Programmierer sie explizit definieren müssen.
4. Die Aufzählungsklasse stellt standardmäßig die Methode „values()“ bereit, um das Durchlaufen aller Aufzählungswerte zu erleichtern.
Methoden in Enum (von Enum bereitgestellte Methoden):
public final int CompareTo(E o) Vergleicht Aufzählungswerte desselben Typs
public final int ordinal() Gibt den Indexwert der Aufzählung zurück, beginnend bei Null für den ersten Aufzählungswert.
public final String name() gibt den Namen der Aufzählungsinstanz zurück
public String toString() gibt den Ausgabenamen der Aufzählung zurück
Beispiel einer Ampel
public enum TrafficLight { RED("Red"), YELLOW("Yellow"), GREEN("Green"); private String name; private TrafficLight(String name) { this.name = name; name; } public void jude(Ampel) { case RED: System.out.println("stop"); System.out.println("go"); case GREEN: System.out.println("wait"); public static void main(String[] args) { for (TrafficLight e : TrafficLight.values()) { System.out.println(e.name());