top of page

Java anonymous class essentials

Anonymous class

Ссылка на презентацию: Anonymous class

Анонимные классы — это внутренние классы без имени. Поскольку у них нет имени, мы не можем использовать их для повторного создания экземпляров анонимных классов. В результате нам приходится объявлять и создавать экземпляры анонимных классов в одном выражении в момент использования.

При помощи анонимных классов можно:

  • расширить существующий класс

  • реализовать интерфейс

Применяйте анонимные классы, если вам нужен локальный класс для одноразового использования.


Важные замечания

  • Синтаксис анонимных классов не позволяет реализовать несколько интерфейсов.

  • Во время построения может существовать ровно один экземпляр анонимного класса.

  • Поэтому они никогда не могут быть абстрактными.

  • Поскольку у них нет имени, мы не можем их расширить.

  • По той же причине анонимные классы не могут иметь явно объявленных конструкторов.

  • Анонимные классы не могут иметь никаких статических членов, кроме тех, которые являются final.

На самом деле отсутствие конструктора не представляет для нас проблемы по следующим причинам:

  • мы создаем экземпляры анонимных классов в тот же момент, когда мы их объявляем

  • из экземпляров анонимного класса мы можем получить доступ к локальным переменным и аргументам членов класса

Пример:

new Book("Design Patterns") { 
    @Override
    public String description() {
        return "Famous book."; }
}

84 просмотра

Недавние посты

Смотреть все

Comments

Rated 0 out of 5 stars.
No ratings yet

Commenting has been turned off.
bottom of page