Bu eğitimde, enum sınıflarının kalıtımının neden mümkün olmadığını öğreneceksiniz. Ayrıca bir enum sınıfında arabirimleri uygulamayı da öğreneceksiniz.
Bu öğreticiyi öğrenmeden önce, aşağıdakileri bildiğinizden emin olun:
- Java numaralandırmaları
- Java kalıtımı
- Java arayüzleri
Enum Sınıfından Sınıf Devralma
Java'da, enum sınıfları finalvarsayılan olarak vardır. Bu nedenle, ondan diğer sınıfları miras alamayız. Örneğin,
enum A ( // enum constants // fields and methods ) class B extends A ( public static void main(String() args) ( // statements ) ) # Error: cannot inherit from final A
Başka Bir Sınıftan Bir Enum Sınıfını Devralma
Java'daki sıralama sınıflarını genişletemiyoruz. Bunun nedeni, Java'daki tüm numaralandırmaların miras almasıdır java.lang.Enum. Ve Java'da birden çok sınıfın genişletilmesine (çoklu miras) izin verilmez.
Örneğin,
class A ( // class body ) enum B extends A ( // class body )
Bu bir hata oluşturacaktır.
Java Enum ve Arabirimi
Öğrendiğimiz gibi, Java'daki enum sınıflarını miras alamayız. Ancak, numaralandırma sınıfları arabirimleri uygulayabilir.
Örnek: enum uygulama arabirimi
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(); ) )
Çıktı
Boyut ORTA
Yukarıdaki örnekte Size enum sınıfı oluşturduk. Bu sınıf, Pizza arayüzünü uyguluyor.
Bir arabirim uyguladığımız için displaySize(), enum sınıfının içinde soyut yöntemin bir uygulamasını sağladık .








