И.Н. Блинов, В.С. Романчик
Java.
ПРОМЫШЛЕННОЕ
ПРОГРАММИРОВАНИЕ
Практическое пособие
Минск
«УниверсалПресс»
Предисловие............................................................................................................................ 10
Часть 1. ОСНОВЫ ЯЗЫКА JAVA
Глава 1. ВВЕДЕНИЕ В КЛАССЫ И ОБЪЕКТЫ......................................................... 11
Глава 2. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ................................................................... 27
Глава 3. КЛАССЫ............................................................................................................... 50
Глава 4. НАСЛЕДОВАНИЕ И ПОЛИМОРФИЗМ....................................................... 78
Глава 5. ПРОЕКТИРОВАНИЕ КЛАССОВ.................................................................. 105
Глава 6. ИНТЕРФЕЙСЫ И ВНУТРЕННИЕ КЛАССЫ............................................ 139
Часть 2. ИСПОЛЬЗОВАНИЕ КЛАССОВ И БИБЛИОТЕК
Глава 7. ОБРАБОТКА СТРОК........................................................................................ 160
Глава 8. ИСКЛЮЧЕНИЯ И ОШИБКИ......................................................................... 190
Глава 9. ФАЙЛЫ. ПОТОКИ ВВОДА/ВЫВОДА........................................................ 205
Глава 10. КОЛЛЕКЦИИ.................................................................................................... 229
Глава 11. ГРАФИЧЕСКИЕ ИНТЕРФЕЙСЫ ПОЛЬЗОВАТЕЛЯ............................. 259
Глава 12. СОБЫТИЯ.......................................................................................................... 275
Глава 13. ЭЛЕМЕНТЫ КОМПОНОВКИ И УПРАВЛЕНИЯ................................... 287
Глава 14. ПОТОКИ ВЫПОЛНЕНИЯ............................................................................. 328
Глава 15. СЕТЕВЫЕ ПРОГРАММЫ............................................................................. 350
Глава 16. XML & Java..................................................................................................... 364
Часть 3. ТЕХНОЛОГИИ РАЗРАБОТКИ WEB-ПРИЛОЖЕНИЙ
Глава 17. ВВЕДЕНИЕ В СЕРВЛЕТЫ И JSP................................................................ 414
Глава 18. СЕРВЛЕТЫ........................................................................................................ 426
Глава 19. JAVA SERVER PAGES.................................................................................... 446
Глава 20. JDBC.................................................................................................................... 479
Глава 21. CЕССИИ, СОБЫТИЯ и ФИЛЬТРЫ............................................................ 504
Глава 22. ПОЛЬЗОВАТЕЛЬСКИЕ ТЕГИ..................................................................... 523
УКАЗАНИЯ И ОТВЕТЫ.................................................................................................. 536
Приложение 1. НTML........................................................................................................ 552
Приложение 2. JavaScript.................................................................................................. 574
Приложение 3. UML........................................................................................................... 599
Приложение 4. Базы данных и язык SQL..................................................................... 608
Приложение 5. Hibernate................................................................................................... 625
Приложение 6. Struts.......................................................................................................... 645
Приложение 7. Журнал сообщений (Logger)............................................................... 667
Приложение 8. Apache Ant............................................................................................... 676
Приложение 9. Портлеты.................................................................................................. 690
Список рекомендуемой литературы и источников.................................................... 703
СОДЕРЖАНИЕ
Часть 1. ОСНОВЫ ЯЗЫКА JAVA
Глава 1. ВВЕДЕНИЕ В КЛАССЫ И ОБЪЕКТЫ..................................................... 11
Основные понятия ООП............................................................................ 11
Язык Java...................................................................................................... 14
Нововведения версий 5.0 и 6.0................................................................ 15
Простое приложение................................................................................. 16
Классы и объекты....................................................................................... 19
Сравнение объектов................................................................................... 20
Консоль......................................................................................................... 21
Простой апплет........................................................................................... 23
Задания к главе 1......................................................................................... 24
Тестовые задания к главе 1...................................................................... 25
Глава 2. ТИПЫ ДАННЫХ И ОПЕРАТОРЫ.............................................................. 27
Базовые типы данных и литералы........................................................ 27
Документирование кода........................................................................... 29
Операторы.................................................................................................... 31
Классы-оболочки....................................................................................... 34
Операторы управления............................................................................. 37
Массивы........................................................................................................ 39
Класс Маth................................................................................................... 43
Управление приложением........................................................................ 44
Задания к главе 2......................................................................................... 47
Тестовые задания к главе 2...................................................................... 49
Глава 3. КЛАССЫ............................................................................................................... 50
Переменные класса и константы........................................................... 50
Ограничение доступа................................................................................ 51
Конструкторы.............................................................................................. 52
Методы.......................................................................................................... 54
Статические методы и поля..................................................................... 55
Модификатор final..................................................................................... 56
Абстрактные методы................................................................................. 57
Модификатор native.................................................................................. 57
Модификатор synchronized...................................................................... 57
Логические блоки....................................................................................... 58
Перегрузка методов................................................................................... 59
Параметризованные классы.................................................................... 60
Параметризованные методы................................................................... 65
Методы с переменным числом параметров........................................ 65
Перечисления............................................................................................... 67
Аннотации.................................................................................................... 70
Задания к главе 3......................................................................................... 72
Тестовые задания к главе 3...................................................................... 76
Глава 4. НАСЛЕДОВАНИЕ И ПОЛИМОРФИЗМ................................................... 78
Наследование.............................................................................................. 78
Использование final................................................................................... 81
Использование super и this....................................................................... 82
Переопределение методов и полиморфизм......................................... 83
Методы подставки..................................................................................... 86
Полиморфизм и расширяемость............................................................. 86
Статические методы и полиморфизм.................................................... 88
Абстракция и абстрактные классы....................................................... 89
Класс Object................................................................................................. 91
Клонирование объектов........................................................................... 95
“Сборка мусора” и освобождение ресурсов...................................... 97
Задания к главе 4......................................................................................... 99
Тестовые задания к главе 4.................................................................... 102
Глава 5. ПРОЕКТИРОВАНИЕ КЛАССОВ............................................................... 105
Шаблоны проектирования GRASP...................................................... 105
Шаблон Expert........................................................................................... 105
Шаблон Creator......................................................................................... 107
Шаблон Low Coupling............................................................................. 108
Шаблон High Cohesion............................................................................ 111
Шаблон Controller..................................................................................... 113
Шаблоны проектирования GoF............................................................ 114
Порождающие шаблоны........................................................................ 115
Шаблон Factory......................................................................................... 115
Шаблон AbstractFactory......................................................................... 117
Шаблон Builder.......................................................................................... 120
Шаблон Singleton...................................................................................... 122
Структурные шаблоны........................................................................... 123
Шаблон Bridge........................................................................................... 123
Шаблон Decorator..................................................................................... 125
Шаблоны поведения................................................................................ 127
Шаблон Command................................................................................... 128
Шаблон Strategy........................................................................................ 131
Шаблон Observer....................................................................................... 133
Антишаблоны проектирования............................................................ 135
Задания к главе 5....................................................................................... 137
Тестовые задания к главе 5.................................................................... 137
Глава 6. ИНТЕРФЕЙСЫ И ВНУТРЕННИЕ КЛАССЫ....................................... 139
Интерфейсы................................................................................................ 139
Пакеты......................................................................................................... 142
Статический импорт................................................................................ 145
Внутренние классы.................................................................................. 146
Внутренние (inner) классы..................................................................... 147
Вложенные (nested) классы................................................................... 152
Анонимные (anonymous) классы......................................................... 153
Задания к главе 6....................................................................................... 156
Тестовые задания к главе 6.................................................................... 158