Vererbung auf einem Enum in Java
-
Verwenden Sie
enum
s in Java -
Java
enum
-Vererbung -
Verwenden Sie ein
enum
, um eine Schnittstelle zu implementieren
Ein enum
(Kurzform für Aufzählung) ist in Java ein Datentyp mit einem festen konstanten Wertesatz. Wir verwenden das Schlüsselwort enum
, um den Enumerationsdatentyp zu deklarieren.
Es ist üblich, enum
-Werte in Grossbuchstaben darzustellen. In Java sind alle enum
-Klassen standardmäßig final
.
Wir können also keine anderen Klassen davon erben oder ableiten.
Verwenden Sie enum
s in Java
enum Seasons { SUMMER, WINTER, AUTUMN, SPRING }
class Main {
public static void main(String[] args) {
System.out.println(Seasons.SUMMER);
System.out.println(Seasons.WINTER);
System.out.println(Seasons.AUTUMN);
System.out.println(Seasons.SPRING);
}
}
Ausgang:
SUMMER
WINTER
AUTUMN
SPRING
Der obige Code zeigt die Funktionalität eines enum
-Datentyps. Die Verwendung von enum
s kann jeden Code expliziter und weniger fehleranfällig machen.
Enum
s werden häufig in menügesteuerten Programmen verwendet oder wenn wir alle möglichen Werte zur Kompilierzeit kennen.
Java enum
-Vererbung
enum Seasons { SUMMER, WINTER, AUTUMN, SPRING }
class Main {
class Weather extends Seasons {
public static void main(String[] args) {
// statements
}
}
}
Ausgang:
Main.java:8: error: cannot inherit from final Seasons
class Weather extends Seasons {
^
Main.java:8: error: enum types are not extensible
class Weather extends Seasons {
^
Der obige Code erzeugt einen Fehler, weil eine enum
-Klasse nicht verwendet werden kann, um eine andere funktionale Klasse abzuleiten.
Verwenden Sie ein enum
, um eine Schnittstelle zu implementieren
interface Weather {
public void display();
}
enum Seasons implements Weather {
SUMMER,
WINTER,
AUTUMN,
SPRING;
public void display() {
System.out.println("The season is " + this);
}
}
class Main {
public static void main(String[] args) {
Seasons.SUMMER.display();
}
}
Ausgang:
The season is SUMMER
Im obigen Code verwenden wir eine enum
-Klasse, Seasons
, um die Weather
-Schnittstelle zu implementieren. Da wir eine enum
-Klasse verwenden können, um eine Schnittstelle zu implementieren, haben wir die abstrakte Methode display()
in die enum
-Klasse geschrieben.
Musfirah is a student of computer science from the best university in Pakistan. She has a knack for programming and everything related. She is a tech geek who loves to help people as much as possible.
LinkedIn