В Java объект анонимного класса создаётся выражением new с телом класса. Он может расширять класс или реализовывать интерфейс и не имеет собственного объявленного имени.
Как создаётся объект анонимного класса?
В Java объект анонимного класса создаётся выражением new с телом класса. Он может расширять класс или реализовывать интерфейс и не имеет собственного объявленного имени.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Java объект анонимного класса создаётся выражением new с телом класса. Он может расширять класс или реализовывать интерфейс и не имеет собственного объявленного имени.
Пример реализации Runnable:
Runnable task = new Runnable() {
@Override public void run() {
System.out.println("ready");
}
};
У анонимного класса нет явно объявленного конструктора; аргументы передаются конструктору суперкласса, возможен instance initializer. Захватываемые локальные переменные должны быть final или effectively final. В отличие от лямбды, this внутри такого объекта указывает на экземпляр анонимного класса.