Java enum mantojums un saskarne

Šajā apmācībā jūs uzzināsit par to, kāpēc nav iespējama enum klases mantošana. Jūs arī iemācīsities ieviest saskarnes enum klasē.

Pirms mācāties šo apmācību, pārliecinieties, ka zināt par

  • Java uzskaitījumi
  • Java mantojums
  • Java saskarnes

Klases mantošana no uzskaites klases

Java finalpēc noklusējuma ir enum klases . Tādējādi mēs nevaram no tā mantot citas klases. Piemēram,

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

Enum klases pārmantošana no citas klases

Mēs nevaram pagarināt enum klases Java. Tas ir tāpēc, ka visi Java saraksti tiek mantoti no java.lang.Enum. Java nav atļauts paplašināt vairākas klases (vairākkārtēja mantošana).

Piemēram,

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

Tas radīs kļūdu.

Java Enum un saskarne

Kā mēs esam iemācījušies, mēs nevaram pārmantot Java enum klases. Tomēr enum klases var ieviest saskarnes.

Piemērs: enum interfeisa ieviešana

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

Rezultāts

 Izmērs ir MEDIUM 

Iepriekš minētajā piemērā mēs esam izveidojuši enum klases Size. Šajā klasē tiek ieviesta Pizza saskarne.

Tā kā mēs īstenojam saskarni, mēs esam nodrošinājuši abstraktās metodes displaySize()ieviešanu enum klasē.

Interesanti raksti...