Vererbung auf einem Enum in Java

Musfirah Waseem 12 Oktober 2023
  1. Verwenden Sie enum s in Java
  2. Java enum-Vererbung
  3. Verwenden Sie ein enum, um eine Schnittstelle zu implementieren
Vererbung auf einem Enum in Java

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.

Enums 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 Waseem avatar Musfirah Waseem avatar

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

Verwandter Artikel - Java Inheritance