Философия Java - [2]

Шрифт
Интервал

Восходящее преобразование типов.....................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

Создание тестовых данных.........................465

Создание массивов с использованием генераторов.............470

Вспомогательный инструментарий Arrays..................474

Резюме...................................482

Глава 16. Система ввода/вывода Java...............483

Класс File..................................484

Ввод и вывод................................489

Добавление атрибутов и интерфейсов...................491

Классы Reader и Writer...........................494

RandomAccessFile: сам по себе.......................497

Типичное использование потоков ввода/вывода..............498

Средства чтения и записи файлов.....................505

Стандартный ввод/вывод..........................507

Новый ввод/вывод (nio)..........................510

Сжатие данных...............................531

Сериализация объектов..........................536

Предпочтения...............................553


Рекомендуем почитать
Pro Git

Разработчику часто требуется много сторонних инструментов, чтобы создавать и поддерживать проект. Система Git — один из таких инструментов и используется для контроля промежуточных версий вашего приложения, позволяя вам исправлять ошибки, откатывать к старой версии, разрабатывать проект в команде и сливать его потом. В книге вы узнаете об основах работы с Git: установка, ключевые команды, gitHub и многое другое.В книге рассматриваются следующие темы:основы Git;ветвление в Git;Git на сервере;распределённый Git;GitHub;инструменты Git;настройка Git;Git и другие системы контроля версий.


Java 7

Рассмотрено все необходимое для разработки, компиляции, отладки и запуска приложений Java. Изложены практические приемы использования как традиционных, так и новейших конструкций объектно-ориентированного языка Java, графической библиотеки классов Swing, расширенной библиотеки Java 2D, работа со звуком, печать, способы русификации программ. Приведено полное описание нововведений Java SE 7: двоичная запись чисел, строковые варианты разветвлений, "ромбовидный оператор", NIO2, новые средства многопоточности и др.


MFC и OpenGL

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Симуляция частичной специализации

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Обработка событий в С++

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.