Содержание
· 1 ВНУТРЕННИЕ КЛАССЫ
o 1.1 Создание внутренних классов
o 1.2 Связь с внешним классом
o 1.3 Конструкции .this и .new
o 1.4 Внутренние классы и восходящее преобразование
o 1.5 Внутренние классы в методах и областях действия
o 1.6 Безымянные внутренние классы
o 1.7 Снова о методе-фабрике
o 1.8 Вложенные классы
o 1.9 Классы внутри интерфейсов
o 1.10 Доступ вовне из многократно вложенных классов
o 1.11 Внутренние классы: зачем?
o 1.12 Замыкания и обратные вызовы
o 1.13 Внутренние классы и система управления
o 1.14 Наследование от внутренних классов
o 1.15 Можно ли переопределить внутренний класс?
o 1.16 Локальные внутренние классы
o 1.17 Идентификаторы внутренних классов
o 1.18 Резюме
Определение класса может размещаться внутри определения другого класса. Такие классы называются внутренними (inner class). Внутренние классы весьма полезны, так как они позволяют группировать классы, логически принадлежащие друг другу, и управлять доступом к ним. Однако следует понимать, что внутренние классы заметно отличаются от композиции. На первый взгляд создается впечатление, что внутренние классы представляют собой простой механизм сокрытия кода. Однако вскоре вы узнаете, что возможности внутренних классов гораздо шире (они знают о существовании внешних классов и могут работать с ними), а программный код с внутренними классами часто бывает более элегантным и понятным (хотя конечно, этого никто не гарантирует). В этой главе подробно исследуется синтаксис внутренних классов. Эти возможности представлены для полноты материала, хотя, скорее всего, на первых порах они вам не понадобятся. Возможно, начальные разделы этой главы содержат все, что вам действительно необходимо знать на этой стадии, а к более подробным объяснениям можно относиться как к справочному, дополнительному материалу.