Назад к вопросам
Junior
78
questionbank

Что такое анонимные классы и где они применяются?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Анонимный класс — это внутренний класс без имени. Он объявляется и создается одновременно. Используется, когда требуется создать одноразовый объект класса, который реализует интерфейс или расширяет другой класс. Чаще всего применяется для:

  • Обработчиков событий: В Swing или JavaFX для создания слушателей.
  • Реализаций интерфейсов: Когда нужен простой, одноразовый объект, реализующий один метод интерфейса.
  • Создания потоков: Для реализации Runnable.

Пример создания анонимного класса, реализующего интерфейс Runnable:

// Реализация интерфейса Runnable с помощью анонимного класса
Runnable myRunnable = new Runnable() {
    @Override
    public void run() {
        System.out.println("Hello from anonymous runnable!");
    }
};

Пример создания анонимного класса, расширяющего класс Thread:

// Расширение класса Thread с помощью анонимного класса
Thread myThread = new Thread() {
    @Override
    public void run() {
        System.out.println("Hello from anonymous thread!");
    }
};

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

Основные ограничения:

  • Не может иметь явного конструктора (конструктор вызывается неявно при создании).
  • Нельзя объявить статические члены.
  • Нельзя наследовать или реализовать более одного класса/интерфейса соответственно.