Назад к вопросам
Junior
70
questionbank
Что такое анонимные классы и где они применяются?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Анонимный класс - это локальный внутренний класс без имени.
-
Применяется:
- При создании слушателей событий в GUI-приложениях (например, для кнопок).
- Для реализации интерфейсов или расширения абстрактных классов "на месте", когда нужен всего один экземпляр и его использование локально.
- В многопоточности для создания экземпляров
RunnableилиCallable.
-
Преимущества:
- Сокращают объем кода, когда не требуется отдельное повторное использование класса.
- Упрощают чтение кода для простых, одноразовых реализаций.
-
Недостатки:
- Могут сделать код менее читаемым для сложных реализаций.
- Нельзя повторно использовать.
- Доступ к полям внешнего класса только через
finalили effectively final переменные в старых версиях Java.
// Пример использования анонимного класса для Runnable
Runnable myRunnable = new Runnable() {
@Override
public void run() {
System.out.println("Running in an anonymous class thread.");
}
};
new Thread(myRunnable).start();
// Пример использования анонимного класса для слушателя события (гипотетический)
// Некоторые UI-фреймворки используют такой подход.
//button.setOnAction(new EventHandler<ActionEvent>() {
// @Override
// public void handle(ActionEvent event) {
// System.out.println("Button clicked!");
// }
//});