Java Anonim Sınıfı

Bu eğitimde, örnekler yardımıyla Java'daki anonim sınıflar hakkında bilgi edineceksiniz.

Java'da bir sınıf, iç içe geçmiş sınıf olarak bilinen başka bir sınıfı içerebilir. Herhangi bir isim vermeden iç içe geçmiş bir sınıf oluşturmak mümkündür.

Herhangi bir adı olmayan iç içe geçmiş bir sınıf, anonim sınıf olarak bilinir.

Anonim bir sınıf başka bir sınıf içinde tanımlanmalıdır. Bu nedenle, anonim bir iç sınıf olarak da bilinir. Sözdizimi şöyledir:

 class outerClass ( // defining anonymous class object1 = new Type(parameterList) ( // body of the anonymous class ); ) 

Anonim sınıflar genellikle alt sınıfları genişletir veya arabirimleri uygular.

Burada Tür olabilir

  1. anonim bir sınıfın genişlettiği bir üst sınıf
  2. anonim bir sınıfın uyguladığı bir arabirim

Yukarıdaki kod object1, çalışma zamanında anonim bir sınıfın bir nesnesini oluşturur .

Not: Anonim sınıflar bir ifade içinde tanımlanır. Bu nedenle, anonim sınıfların sonunda ifadenin sonunu belirtmek için noktalı virgül kullanılır.

Örnek 1: Bir Sınıfı Genişleten Anonim Sınıf

 class Polygon ( public void display() ( System.out.println("Inside the Polygon class"); ) ) class AnonymousDemo ( public void createClass() ( // creation of anonymous class extending class Polygon Polygon p1 = new Polygon() ( public void display() ( System.out.println("Inside an anonymous class."); ) ); p1.display(); ) ) class Main ( public static void main(String() args) ( AnonymousDemo an = new AnonymousDemo(); an.createClass(); ) ) 

Çıktı

 Anonim bir sınıfın içinde. 

Yukarıdaki örnekte, bir Polygon sınıfı oluşturduk. Tek bir yöntemi vardır display().

Daha sonra Polygon sınıfını genişleten ve display()yöntemi geçersiz kılan anonim bir sınıf oluşturduk .

Programı çalıştırdığımızda, anonim sınıfın bir p1 nesnesi oluşturulur. Nesne daha sonra display()anonim sınıfın yöntemini çağırır .

Örnek 2: Bir Arayüz Uygulayan Anonim Sınıf

 interface Polygon ( public void display(); ) class AnonymousDemo ( public void createClass() ( // anonymous class implementing interface Polygon p1 = new Polygon() ( public void display() ( System.out.println("Inside an anonymous class."); ) ); p1.display(); ) ) class Main ( public static void main(String() args) ( AnonymousDemo an = new AnonymousDemo(); an.createClass(); ) ) 

Çıktı

 Anonim bir sınıfın içinde. 

Yukarıdaki örnekte, Polygonarayüzü uygulayan anonim bir sınıf oluşturduk .

Anonim Sınıfların Avantajları

Anonim sınıflarda, ihtiyaç duyulduğunda nesneler oluşturulur. Yani, bazı özel görevleri gerçekleştirmek için nesneler oluşturulur. Örneğin,

 Object = new Example() ( public void display() ( System.out.println("Anonymous class overrides the method display()."); ) ); 

Burada, display()yöntemi geçersiz kılmamız gerektiğinde anonim sınıfın bir nesnesi dinamik olarak oluşturulur .

Anonim sınıflar, kodumuzu kısa ve öz yapmamıza da yardımcı olur.

Ilginç makaleler...