Анонімний клас Java

У цьому посібнику ви дізнаєтесь про анонімні класи в Java за допомогою прикладів.

У Java клас може містити інший клас, відомий як вкладений клас. Можна створити вкладений клас, не вказуючи жодного імені.

Вкладений клас, який не має жодного імені, відомий як анонімний клас.

Анонімний клас повинен бути визначений всередині іншого класу. Отже, він також відомий як анонімний внутрішній клас. Його синтаксис:

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

Анонімні класи зазвичай розширюють підкласи або реалізують інтерфейси.

Тут Type може бути

  1. надклас, який поширюється анонімним класом
  2. інтерфейс, який реалізує анонімний клас

Наведений вище код створює об'єкт, object1анонімного класу під час виконання.

Примітка: Анонімні класи визначаються всередині виразу. Отже, крапка з комою використовується в кінці анонімних класів для позначення кінця виразу.

Приклад 1: Анонімний клас, що продовжує клас

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

Вихідні дані

 Всередині анонімного класу. 

У наведеному вище прикладі ми створили клас Polygon. Він має єдиний метод display().

Потім ми створили анонімний клас, який розширює клас Полігон і замінює display()метод.

Коли ми запускаємо програму, створюється об’єкт p1 анонімного класу. Потім об’єкт викликає display()метод анонімного класу.

Приклад 2: Анонімний клас, що реалізує інтерфейс

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

Вихідні дані

 Всередині анонімного класу. 

У наведеному вище прикладі ми створили анонімний клас, який реалізує Polygonінтерфейс.

Переваги анонімних занять

В анонімних класах об’єкти створюються щоразу, коли це потрібно. Тобто об’єкти створюються для виконання якихось конкретних завдань. Наприклад,

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

Тут об’єкт анонімного класу створюється динамічно, коли нам потрібно замінити display()метод.

Анонімні класи також допомагають нам зробити наш код стислим.

Цікаві статті...