logo

Java Anonim iç sınıfı

Java anonim iç sınıfı, adı olmayan ve kendisi için yalnızca tek bir nesnenin oluşturulduğu bir iç sınıftır. Anonim bir iç sınıf, bir sınıfın veya arayüzün aşırı yükleme yöntemleri gibi belirli 'ekstralara' sahip bir nesnenin örneğini oluştururken, aslında bir sınıfı alt sınıflamak zorunda kalmadan yararlı olabilir.

Basit bir ifadeyle, adı olmayan bir sınıf, Java'da anonim iç sınıf olarak bilinir. Bir sınıf veya arayüz yöntemini geçersiz kılmanız gerekiyorsa kullanılmalıdır. Java Anonim iç sınıfı iki şekilde oluşturulabilir:

  1. Sınıf (soyut veya somut olabilir).
  2. Arayüz

Sınıfı kullanan Java anonim iç sınıf örneği

TestAnonymousInner.java

 abstract class Person{ abstract void eat(); } class TestAnonymousInner{ public static void main(String args[]){ Person p=new Person(){ void eat(){System.out.println('nice fruits');} }; p.eat(); } } 
Şimdi Test Edin

Çıktı:

 nice fruits 

Verilen kodun dahili çalışması

 Person p=new Person(){ void eat(){System.out.println('nice fruits');} }; 
  1. Bir sınıf oluşturulur, ancak adı, Person sınıfını genişleten ve eat() yönteminin uygulanmasını sağlayan derleyici tarafından belirlenir.
  2. Kişi tipinin bir referans değişkeni olan 'p' ile anılan Anonymous sınıfının bir nesnesi oluşturulur.

Derleyici tarafından oluşturulan dahili sınıf

 import java.io.PrintStream; static class TestAnonymousInner extends Person { TestAnonymousInner(){} void eat() { System.out.println('nice fruits'); } } 

Arayüzü kullanan Java anonim iç sınıf örneği

 interface Eatable{ void eat(); } class TestAnnonymousInner1{ public static void main(String args[]){ Eatable e=new Eatable(){ public void eat(){System.out.println('nice fruits');} }; e.eat(); } } 
Şimdi Test Edin

Çıktı:

Java'nın adlandırma kuralı
 nice fruits 

Verilen kodun dahili çalışması

Bu kodun arkasında iki ana görevi gerçekleştirir:

 Eatable p=new Eatable(){ void eat(){System.out.println('nice fruits');} }; 
  1. Bir sınıf oluşturulur, ancak adı Eatable arayüzünü uygulayan ve eat() yönteminin uygulanmasını sağlayan derleyici tarafından belirlenir.
  2. Anonim sınıfın bir nesnesi, Eatable türünün bir referans değişkeni olan 'p' ile anılan bir nesne oluşturulur.

Derleyici tarafından oluşturulan dahili sınıf

 import java.io.PrintStream; static class TestAnonymousInner1 implements Eatable { TestAnonymousInner1(){} void eat(){System.out.println('nice fruits');} }