Java enum Pärilikkus ja liides

Selles õpetuses saate teada, miks loendustundide pärimine pole võimalik. Samuti õpite liideseid rakendama enum klassis.

Enne selle õpetuse õppimist teadke kindlasti

  • Java loendid
  • Java pärimine
  • Java liidesed

Klassi pärimine loendusklassist

Javas on finalvaikimisi enum klassid . Seega ei saa me sellest teisi klasse pärida. Näiteks,

 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 klassi pärimine teisest klassist

Me ei saa laiendada Java-arvude klasse. Sellepärast, et kõik Java-s olevad loendid on päritud java.lang.Enum. Ja mitme klassi laiendamine (mitmekordne pärimine) pole Java-s lubatud.

Näiteks,

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

See tekitab vea.

Java Enum ja liides

Nagu oleme õppinud, ei saa me Java-s enum-klassi pärida. Ent enum klassid saavad liideseid rakendada.

Näide: enum rakendusliides

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

Väljund

 Suurus on KESKMINE 

Ülaltoodud näites oleme loonud loendiklassi Suurus. See klass rakendab Pizza liidest.

Kuna rakendame liidest, oleme pakkunud abstraktse meetodi rakendamist displaySize()enum klassi sees.

Huvitavad Artiklid...