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 final
secara 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.