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

Что такое анонимный класс?

Sobes Copilot

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

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

sobes.tech AI

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

Основные характеристики:

  • Нет явного имени.
  • Не может иметь конструкторов (но может иметь инициализаторы экземпляра и статические инициализаторы).
  • Не может быть абстрактным, статическим или публичным.
  • Имеет доступ к final или эффективно final локальным переменным из внешнего контекста.

Пример использования для реализации интерфейса Runnable:

new Runnable() {
    @Override
    public void run() {
        // Код, который будет выполнен
    }
};

Пример использования для расширения класса Button:

new Button(context) {
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        // Обработка события касания
        return super.onTouchEvent(event);
    }
};

Преимущества:

  • Лямбда-выражения (в Java 8+) часто являются более лаконичной альтернативой для простых случаев.