EMZETT.
Войти

Анонимные классы

Коротко: Класс без собственного имени, определяемый прямо на месте и сразу создающий экземпляр, — обычно чтобы один раз реализовать интерфейс или абстрактный класс.

Подробнее: Часто используются для разовых обработчиков событий или реализаций обратных вызовов, где отдельный именованный класс не оправдан. С Java 8 эту роль для функциональных интерфейсов обычно берут на себя выражения лямбда.

Runnable r = new Runnable() {
    public void run() { System.out.println("running"); }
};

Подробности

Анонимный класс при компиляции на самом деле создаёт собственный файл .class…

См. также: внутренние классы, лямбда, интерфейс