Эккель Брюс
Шрифт:
Глава 5. Инициализация и завершение..............116
Конструктор гарантирует инициализацию.................116
Перегрузка методов............................118
Очистка: финализация и сборка мусора..................130
Инициализация членов класса.......................137
Инициализация конструктором.......................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