Java enum Devralma ve Arayüz

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 .

Ilginç makaleler...