„Java enum“ paveldėjimas ir sąsaja

Šioje pamokoje sužinosite, kodėl neįmanoma paveldėti „enum“ klases. Jūs taip pat išmoksite įdiegti sąsajas „enum“ klasėje.

Prieš išmokdami šią pamoką, būtinai žinokite apie tai

  • „Java“ sąrašai
  • Java paveldėjimas
  • „Java“ sąsajos

Klasės paveldėjimas iš „enum“ klasės

„Java“ sistemoje „enum“ klasės yra finalnumatytosios. Taigi mes negalime iš jo paveldėti kitų klasių. Pavyzdžiui,

 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“ klasės paveldėjimas iš kitos klasės

Mes negalime pratęsti „Java“ klasių. Taip yra todėl, kad visi „Java“ sąrašai yra paveldėti java.lang.Enum. „Java“ neleidžiama išplėsti kelių klasių (daugkartinio paveldėjimo).

Pavyzdžiui,

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

Tai sukels klaidą.

„Java Enum“ ir sąsaja

Kaip sužinojome, negalime paveldėti „Java“ „enum“ klasės. Tačiau „enum“ klasės gali įdiegti sąsajas.

Pavyzdys: „enum“ sąsaja

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

Rezultatas

 Dydis yra MEDIUM 

Ankstesniame pavyzdyje mes sukūrėme enum klasę Dydis. Ši klasė įdiegia „Pizza“ sąsają.

Kadangi mes diegiame sąsają, mes pateikėme abstrakčiojo metodo displaySize()įgyvendinimą enum klasėje.

Įdomios straipsniai...