Наслеђивање и интерфејс Јава енума

У овом упутству ћете научити зашто наследство класа енум није могуће. Такође ћете научити да примените интерфејсе у енум класи.

Пре него што научите овај водич, обавезно сазнајте више о њему

  • Јава набраја
  • Наследство Јава
  • Јава интерфејси

Наслеђивање класе из енум класе

У Јави су класе енум finalподразумевано. Отуда не можемо из њега наследити друге класе. На пример,

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

Наслеђивање енум класе из друге класе

Не можемо проширити енум класе на Јави. То је зато што су сви енуми у Јави наслеђени од java.lang.Enum. А проширивање више класа (вишеструко наслеђивање) није дозвољено на Јави.

На пример,

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

Ово ће генерисати грешку.

Јава Енум и интерфејс

Као што смо научили, не можемо наследити енум класе на Јави. Међутим, енум класе могу да имплементирају интерфејсе.

Пример: енум који имплементира интерфејс

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

Оутпут

 Величина је СРЕДЊА 

У горњем примеру смо креирали енум класу Сизе. Ова класа имплементира интерфејс Пизза.

Пошто имплементирамо интерфејс, обезбедили смо примену апстрактне методе displaySize()унутар класе енум.

Занимљиви Чланци...