Java Enum Vererbung und Schnittstelle

In diesem Tutorial erfahren Sie, warum die Vererbung von Enum-Klassen nicht möglich ist. Sie werden auch lernen, Schnittstellen in einer Enum-Klasse zu implementieren.

Bevor Sie dieses Tutorial lernen, sollten Sie sich darüber informieren

  • Java-Aufzählungen
  • Java-Vererbung
  • Java-Schnittstellen

Erben einer Klasse von einer Aufzählungsklasse

In Java sind Enum-Klassen finalstandardmäßig. Daher können wir keine anderen Klassen davon erben. Beispielsweise,

 enum A ( // enum constants // fields and methods ) class B extends A ( public static void main(String() args) ( // statements ) ) # Error: cannot inherit from final A 

Eine Aufzählungsklasse von einer anderen Klasse erben

Wir können Enum-Klassen in Java nicht erweitern. Dies liegt daran, dass alle Aufzählungen in Java von geerbt werden java.lang.Enum. Das Erweitern mehrerer Klassen (Mehrfachvererbung) ist in Java nicht zulässig.

Beispielsweise,

 class A ( // class body ) enum B extends A ( // class body ) 

Dies erzeugt einen Fehler.

Java Enum und Schnittstelle

Wie wir gelernt haben, können wir in Java keine Enum-Klassen erben. Enum-Klassen können jedoch Schnittstellen implementieren.

Beispiel: Enum-Implementierungsschnittstelle

 interface Pizza ( public void displaySize(); ) enum Size implements Pizza ( SMALL, MEDIUM, LARGE, EXTRALARGE; public void displaySize() ( System.out.println("The size is " + this); ) ) class Main ( public static void main(String() args) ( Size.MEDIUM.displaySIze(); ) ) 

Ausgabe

 Die Größe ist MITTEL 

Im obigen Beispiel haben wir eine Aufzählungsklasse Size erstellt. Diese Klasse implementiert die Pizza-Schnittstelle.

Da wir eine Schnittstelle implementieren, haben wir eine Implementierung der abstrakten Methode displaySize()innerhalb der Enum-Klasse bereitgestellt .

Interessante Beiträge...