Klasa anonimowa Java

W tym samouczku dowiesz się o anonimowych klasach w Javie na podstawie przykładów.

W Javie klasa może zawierać inną klasę zwaną klasą zagnieżdżoną. Możliwe jest utworzenie klasy zagnieżdżonej bez podawania nazwy.

Zagnieżdżona klasa, która nie ma żadnej nazwy, jest nazywana klasą anonimową.

Anonimową klasę należy zdefiniować wewnątrz innej klasy. Dlatego jest również znany jako anonimowa klasa wewnętrzna. Jego składnia to:

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

Klasy anonimowe zwykle rozszerzają podklasy lub implementują interfejsy.

Tutaj Typ może być

  1. nadklasa, którą rozszerza klasa anonimowa
  2. interfejs implementowany przez klasę anonimową

Powyższy kod tworzy obiekt object1anonimowej klasy w czasie wykonywania.

Uwaga: Anonimowe klasy są zdefiniowane w wyrażeniu. Tak więc średnik jest używany na końcu anonimowych klas, aby wskazać koniec wyrażenia.

Przykład 1: Anonimowa klasa rozszerzająca klasę

 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(); ) ) 

Wynik

 Wewnątrz anonimowej klasy. 

W powyższym przykładzie utworzyliśmy klasę Polygon. Ma jedną metodę display().

Następnie utworzyliśmy anonimową klasę, która rozszerza klasę Polygon i przesłania display()metodę.

Kiedy uruchamiamy program, tworzony jest obiekt p1 klasy anonimowej. Obiekt następnie wywołuje display()metodę klasy anonimowej.

Przykład 2: Klasa anonimowa implementująca interfejs

 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(); ) ) 

Wynik

 Wewnątrz anonimowej klasy. 

W powyższym przykładzie stworzyliśmy anonimową klasę, która implementuje Polygoninterfejs.

Zalety zajęć anonimowych

W klasach anonimowych obiekty są tworzone zawsze, gdy są potrzebne. Oznacza to, że obiekty są tworzone w celu wykonania określonych zadań. Na przykład,

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

Tutaj obiekt klasy anonimowej jest tworzony dynamicznie, gdy potrzebujemy przesłonić display()metodę.

Klasy anonimowe pomagają nam również w zwięzłym kodzie.

Interesujące artykuły...