Обложка канала

Библиотека джависта

20804 @javaproglib

Полезные материалы по всему, что может быть полезно разработчику на Java.

Библиотека джависта

3 года назад
Открыть в
Что такое «анонимные классы»? Где они применяются? Это вложенный локальный класс без имени, который разрешено декларировать в любом месте обрамляющего класса, разрешающем размещение выражений. Создание экземпляра анонимного класса происходит одновременно с его объявлением. В зависимости от местоположения анонимный класс ведет себя как статический либо как нестатический вложенный класс - в нестатическом контексте появляется окружающий его экземпляр. Анонимные классы имеют несколько ограничений: • Их использование разрешено только в одном месте программы - месте его создания; • Применение возможно только в том случае, если после порождения экземпляра нет необходимости на него ссылаться; • Реализует лишь методы своего интерфейса или суперкласса, т.е. не может объявлять каких-либо новых методов, так как для доступа к ним нет поименованного типа. Анонимные классы обычно применяются для: • создания объекта функции (function object), например, реализация интерфейса Comparator; • создания объекта процесса (process object), такого как экземпляры классов Thread, Runnable и подобных; • в статическом методе генерации; • инициализации открытого статического поля final, которое соответствует сложному перечислению типов, когда для каждого экземпляра в перечислении требуется отдельный подкласс. #вопросы_с_собеседований