Java enum Warisan dan Antara Muka

Dalam tutorial ini, anda akan mengetahui mengapa pewarisan kelas enum tidak mungkin dilakukan. Anda juga akan belajar untuk melaksanakan antara muka di kelas enum.

Sebelum anda mempelajari tutorial ini, pastikan anda mengetahui

  • Java mengira
  • Pewarisan Jawa
  • Antara muka Java

Mewarisi Kelas dari Kelas enum

Di Java, kelas enum finalsecara lalai. Oleh itu, kita tidak dapat mewarisi kelas lain daripadanya. Sebagai contoh,

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

Mewarisi Kelas enum dari Kelas Lain

Kami tidak dapat melanjutkan kelas enum di Java. Ini kerana semua enum di Jawa diwarisi dari java.lang.Enum. Dan memperluas beberapa kelas (warisan berganda) tidak dibenarkan di Java.

Sebagai contoh,

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

Ini akan menghasilkan ralat.

Java Enum dan Antaramuka

Seperti yang telah kita pelajari, kita tidak dapat mewarisi kelas enum di Jawa. Walau bagaimanapun, kelas enum dapat melaksanakan antara muka.

Contoh: antara muka pelaksanaan enum

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

Pengeluaran

 Saiznya MENENGAH 

Dalam contoh di atas, kami telah membuat saiz kelas enum. Kelas ini menggunakan antara muka Pizza.

Oleh kerana kami melaksanakan antara muka, kami telah menyediakan pelaksanaan kaedah abstrak displaySize()di dalam kelas enum.

Artikel menarik...