Инициализация конструктором.......................140
Инициализация массивов..........................146
Резюме...................................151
Глава 6. Управление доступом...................152
Пакет как библиотечный модуль......................153
Спецификаторы доступа Java........................159
Интерфейс и реализация..........................163
Доступ к классам..............................164
Резюме...................................167
Глава 7. Повторное использование классов............169
Синтаксис композиции...........................170
Синтаксис наследования..........................172
Делегирование...............................176
Сочетание композиции и наследования...................178
Композиция в сравнении с наследованием.................184
protected..................................185
Восходящее преобразование типов.....................186
Ключевое слово final............................188
Инициализация и загрузка классов.....................195
Резюме...................................197
Глава 8. Полиморфизм......................198
Снова о восходящем преобразовании. . . >................199
Особенности................................201
Конструкторы и полиморфизм.......................208
Ковариантность возвращаемых типов...................216
Разработка с наследованием........................217
Резюме...................................220
Глава 9. Интерфейсы.......................221
Абстрактные классы и методы.......................221
Интерфейсы................................224
Отделение интерфейса от реализации...................227
Расширение интерфейса через наследование...............233
Интерфейсы как средство адаптации....................236
Вложенные интерфейсы..........................239
Интерфейсы и фабрики...........................242
Резюме...................................244
Глава 10. Внутренние классы...................245
Создание внутренних классов.......................245
Связь с внешним классом..........................246
Конструкции .this и .new..........................248
Внутренние классы и восходящее преобразование.............249
Безымянные внутренние классы......................253
Внутренние классы: зачем?.........................261
Наследование от внутренних классов....................272
Можно ли переопределить внутренний класс?...............272
Локальные внутренние классы.......................274
Резюме...................................276
Глава 11. Коллекции объектов...................277
Параметризованные и типизованные контейнеры.............277
Основные концепции............................280
Добавление групп элементов........................281
List.....................................285
Итераторы.................................288
LinkedList..................................291
Стек....................................292
Множество.................................294
Карта....................................296
Очередь..................................298
PriorityQueue................................299
Collection и Iterator.............................301
Идиома «метод-адаптер»..........................306
Резюме...................................309
Глава 12. Обработка ошибок и исключения............310
Основные исключения...........................310
Перехват исключений...........................312
Создание собственных исключений.....................314
Спецификации исключений.........................319
Перехват произвольных исключений....................320
Стандартные исключения Java.......................328
Завершение с помощью finally.......................330
Использование finally с return........................334
Ограничения при использовании исключений...............336
Конструкторы...............................339
Идентификация исключений........................343
Альтернативные решения.........................344
Резюме...................................351
Глава 13. Информация о типах..................352
Необходимость в динамическом определении типов (RTTI).........352
Регистрация фабрик............................372
Рефлексия: динамическая информация о классе..............376
Динамические посредники.........................380
Объекты с неопределенным состоянием..................384
Интерфейсы и информация о типах....................390
Резюме...................................394
Глава 14. Параметризация.....................397
Простая параметризация..........................398
Параметризованные интерфейсы......................404
Параметризованные методы........................407
Построение сложных моделей.......................419
Ограничения................................437
Метасимволы................................440
Резюме...................................452
Глава 15. Массивы........................454
Особенности массивов...........................454
Массив как объект.............................456
Возврат массива..............................458
Многомерные массивы...........................460
Массивы и параметризация.........................463