Анонимный класс 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().

Затем мы создали анонимный класс, который расширяет класс Polygon и переопределяет 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()метод.

Анонимные классы также помогают нам сделать наш код кратким.

Интересные статьи...