V tej vadnici boste izvedeli, zakaj dedovanje razredov enum ni mogoče. Naučili se boste tudi izvajati vmesnike v enum razredu.
Preden se naučite te vadnice, se prepričajte o tem
- Java naštevanja
 - Dedovanje Java
 - Java vmesniki
 
Podedovanje razreda iz enum razreda
V Javi so finalprivzeto razredi enum . Iz njega torej ne moremo podedovati drugih razredov. Na primer
 enum A ( // enum constants // fields and methods ) class B extends A ( public static void main(String() args) ( // statements ) ) # Error: cannot inherit from final A  
Podedovanje enum razreda iz drugega razreda
V Javi ne moremo razširiti razredov enum. To je zato, ker so vsi enumi v Javi podedovani od java.lang.Enum. In razširitev več razredov (večkratno dedovanje) v Javi ni dovoljeno.
Na primer
 class A ( // class body ) enum B extends A ( // class body ) 
To bo povzročilo napako.
Java Enum in vmesnik
Kot smo se naučili, v Javi ne moremo podedovati razredov enum. Vendar lahko razredi enum izvajajo vmesnike.
Primer: enum, ki izvaja vmesnik
 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(); ) ) 
Izhod
Velikost je SREDNJA
V zgornjem primeru smo ustvarili enum razred Velikost. Ta razred izvaja vmesnik Pizza.
Ker izvajamo vmesnik, smo displaySize()v razredu enum zagotovili izvedbo abstraktne metode .








