Java enum Arv og grensesnitt

I denne opplæringen vil du lære om hvorfor det ikke er mulig å arve enumklasser. Du vil også lære å implementere grensesnitt i en enum-klasse.

Før du lærer deg denne veiledningen, må du sørge for å vite om

  • Java enums
  • Java-arv
  • Java-grensesnitt

Arve en klasse fra en enum-klasse

I Java er enumklasser som finalstandard. Derfor kan vi ikke arve andre klasser fra den. For eksempel,

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

Arve en enum-klasse fra en annen klasse

Vi kan ikke utvide enumklasser i Java. Det er fordi alle enums i Java arves fra java.lang.Enum. Det er ikke tillatt å utvide flere klasser (flere arv) i Java.

For eksempel,

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

Dette vil generere en feil.

Java Enum og grensesnitt

Som vi har lært, kan vi ikke arve enumklasser i Java. Imidlertid kan enumklasser implementere grensesnitt.

Eksempel: Enum implementeringsgrensesnitt

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

Produksjon

 Størrelsen er MEDIUM 

I eksemplet ovenfor har vi opprettet en enum class Size. Denne klassen implementerer Pizza-grensesnittet.

Siden vi implementerer et grensesnitt, har vi gitt en implementering av den abstrakte metoden displaySize()i enum-klassen.

Interessante artikler...