Warisan dan Antarmuka enum Java

Dalam tutorial ini, Anda akan belajar tentang mengapa pewarisan kelas enum tidak dimungkinkan. Anda juga akan belajar mengimplementasikan antarmuka di kelas enum.

Sebelum Anda mempelajari tutorial ini, pastikan untuk mengetahuinya

  • Enum Java
  • Warisan Jawa
  • Antarmuka Java

Mewarisi Kelas dari Kelas enum

Di Java, kelas enum secara finaldefault. Oleh karena itu, kita tidak dapat mewarisi kelas lain darinya. 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 memperluas kelas enum di Java. Itu karena semua enum di Java diwarisi dari java.lang.Enum. Dan memperluas banyak kelas (multiple inheritance) tidak diperbolehkan di Java.

Sebagai contoh,

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

Ini akan menghasilkan kesalahan.

Java Enum dan Antarmuka

Seperti yang telah kita pelajari, kita tidak bisa mewarisi kelas enum di Java. Namun, kelas enum dapat mengimplementasikan antarmuka.

Contoh: enum implementasi antarmuka

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

Keluaran

 Ukurannya SEDANG 

Dalam contoh di atas, kami telah membuat kelas enum Size. Kelas ini menerapkan antarmuka Pizza.

Karena kami mengimplementasikan antarmuka, kami telah menyediakan implementasi metode abstrak displaySize()di dalam kelas enum.

Artikel yang menarik...