Назад к вопросам
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!");
}
};
Анонимные классы имеют доступ к финальным или фактически финальным локальным переменным внешней области видимости.
Основные ограничения:
- Не может иметь явного конструктора (конструктор вызывается неявно при создании).
- Нельзя объявить статические члены.
- Нельзя наследовать или реализовать более одного класса/интерфейса соответственно.