Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Thinking in Java 4th edition.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.65 Mб
Скачать

Глава 6 управление доступом 146

Содержание 146

Пакет как библиотечный модуль 147

Создание уникальных имен пакетов 149

Конфликты имен 151

Пользовательские библиотеки 151

Спецификаторы доступа Java 153

Доступ в пределах пакета 153

public 154

Пакет по умолчанию 154

private 155

protected 156

Интерфейс и реализация 156

Доступ к классам 157

Резюме 160

Глава 7 повторное использование классов 161

Содержание 161

Синтаксис композиции 162

Синтаксис наследования 165

Инициализация базового класса 167

Конструкторы с аргументами 168

Делегирование 169

Сочетание композиции и наследования 170

Обеспечение правильного завершения 172

Сокрытие имен 175

Композиция в сравнении с наследованием 176

protected 177

Восходящее преобразование типов 179

Почему «восходящее преобразование»? 179

Снова о композиции с наследованием 180

Ключевое слово final 180

Неизменные данные 180

Пустые константы 182

Неизменные аргументы 183

Неизменные методы 184

Cпецификаторы final и private 184

Неизменные классы 186

Предостережение 186

Инициализация и загрузка классов 187

Инициализация с наследованием 187

Резюме 189

Глава 8 полиморфизм 190

Содержание 190

Снова о восходящем преобразовании 191

Потеря типа объекта 192

Связывание «метод-вызов» 193

Получение нужного результата 194

Расширяемость 197

Проблема: «переопределение» закрытых методов 198

Конструкторы и полиморфизм 199

Порядок вызова конструкторов 199

Наследование и завершающие действия 201

Поведение полиморфных методов при вызове из конструкторов 206

Ковариантность возвращаемых типов 208

Разработка с наследованием 209

Нисходящее преобразование и динамическое определение типов 210

Резюме 211

Глава 9 интерфейсы 212

Содержание 212

Абстрактные классы и методы 212

Интерфейсы 215

Отделение интерфейса от реализации 217

«Множественное наследование» в Java 222

Расширение интерфейса через наследование 223

Конфликты имен при совмещении интерфейсов 225

Интерфейсы как средство адаптации 226

Поля в интерфейсах 228

Объявление полей интерфейсов 228

Инициализация полей интерфейсов 229

Вложенные интерфейсы 229

Интерфейсы и фабрики 232

Резюме 234

Глава 10 внутренние классы 236

Содержание 236

Создание внутренних классов 237

Связь с внешним классом 238

Конструкции .this и .new 240

Внутренние классы и восходящее преобразование 241

Внутренние классы в методах и областях действия 243

Безымянные внутренние классы 244

Снова о методе-фабрике 248

Вложенные классы 250

Классы внутри интерфейсов 251

Доступ вовне из многократно вложенных классов 252

Внутренние классы: зачем? 253

Замыкания и обратные вызовы 255

Внутренние классы и система управления 258

Наследование от внутренних классов 263

Можно ли переопределить внутренний класс? 264

Локальные внутренние классы 265

Идентификаторы внутренних классов 267

Резюме 268

Глава 11 контейнеры и хранение объектов 269

Содержание 269

Параметризованные и типизованные контейнеры 269

Основные концепции 272

Добавление групп элементов 273

Вывод содержимого контейнеров 275

List 276

Итераторы 279

Listlterator 281

LinkedList 282

Стек 284

Множество 285

Карта 287

Очередь 290

PriorityQueue 291

Collection и Iterator 292

Синтаксис foreach и итераторы 295

Идиома «метод-адаптер» 297

Резюме 300

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]