Классы анонимного слушателя в Java

{title}

Когда мы работаем над созданием пользовательских интерфейсов в Java, мы должны уделять особое внимание и прилагать усилия для создания различных методов Listener или слушателей, которые фиксируют все события, которые могут быть сгенерированы из действий пользователя.
Поскольку каждый из этих классов Listener часто предназначен только для использования и потребления определенного компонента системы или приложения, которое мы создаем, нет смысла создавать полные и отдельные классы.
Вот почему у нас есть анонимные классы, с помощью которых мы можем сократить определение слушателей и тем самым упростить их реализацию в наших программах.

Анонимные классы Слушатель


Как мы упоминали в начале, когда мы создаем компоненты типа Listener для обработки событий элементов наших пользовательских интерфейсов, они, как правило, имеют очень конкретную цель, которую нельзя использовать повторно, поэтому мы можем сгенерировать их как вложенные классы и с Это упрощает код для генерации немного.
Анонимные занятия

Тем не менее, как хорошие программисты, нам, безусловно, нужно будет улучшить вещи и сделать их еще проще, именно здесь в игру вступают анонимные классы, это позволяет нам создавать вложенный класс и его экземпляр за один шаг, с этим мы Мы гарантируем, чтобы облегчить разработку различных пользовательских интерфейсов.
Давайте рассмотрим несколько примеров того, как мы можем реализовать анонимный класс, начиная с вложенного класса:


{title}


Мы видим, что в первой части мы определяем открытый метод, а затем в нем мы создаем вложенный класс, этот класс отвечает за реализацию интерфейса, чтобы иметь возможность реализовать прослушиватель для событий, которые могут быть сгенерированы в программе.
Внизу мы сделали то же самое, что и в начале, только вместо определения вложенного класса мы определяем анонимный класс, чтобы мы могли реализовать интерфейс и выполнить экземпляр за один шаг, эффективно сокращая таким образом строки кода для выполнения.

Соображения анонимных классов

  • Анонимный класс на самом деле является особым типом вложенного класса и будет рассматриваться как таковой, однако он не может явно расширяться или реализовываться .
  • Анонимный класс всегда должен реализовывать абстрактные методы суперкласса или интерфейса .
  • Анонимные классы всегда будут использовать форму без аргументов конструктора высшего класса. В случае, если интерфейс реализован, конструктор будет Object .
  • Для каждого скомпилированного анонимного класса Java сгенерирует файл .class, где каждый будет идентифицирован в порядке их поступления, например, внешний класс $ 1class, внешний класс $ 2.class и т. Д.
Тогда мы увидели, как мы можем использовать новый инструмент, который позволяет нам уменьшить объем кода, который мы должны написать и сгенерировать для получения результатов, с этим мы получим более легкие и простые программы для отладки членами нашей команды разработчиков или самими собой.,