Часть 1. основы языка java
И.Н. Блинов, В.С. Романчик
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