Патрик Нотой Java. Справочное руководство: Пер. с англ.— М.: Восточная Книжная Компания, 1996. — 448 с.: ил. ISBN 0-07-882199-1 ISBN 5-89350-017-2 Книга представляет собой простое и доступное введение в программирование на языке Java, написана одним из разработчиков языка, охватывает все основные конструкции Java, объектную модель, средства параллельного программирования, обработки исключительных ситуаций, библиотеки классов, используемые для создания графических пользовательских интерфейсов и интерактивных приложений, функционирующих во Всемирной паутине (World Wide Web). Большое число примеров делает книгу полезной как для начинающих, так и для опытных программистов.
Содержание
Благодарности............................................ 13
Об авторе................................................ 15
Предисловие............................................. 17
Структура.......................................... 18
Часть I. Язык Java
Глава 1. Революция по имени Java.........................25
Апплеты Java.......................................26
Революционный язык программирования...................29
Простота и мощь......................................29
Безопасность.........................................30
Объектная ориентированность............................30
Надежность.........................................31
Интерактивность......................................32
Независимость от архитектуры ЭВМ........................32
Интерпретация плюс высокая производительность..............33
Простота изучения....................................33
Богатая объектная среда...............................34
Классы Internet.......................................34
Базовые классы.......................................35
Что вас ожидает в дальнейшем..........................37
Глава 2. Основы объектно-ориентированного
программирования................................39
Объектно-ориентированное программирование................41
Инкапсуляция.......................................42
Наследование........................................44
Полиморфизм........................................45
Заключительное слово об объектах.......................48
Генезис Java........................................49
Цель разработки C++.................................50
Чем Java лучше чем C++..............................51
Глобальные переменные..................•...............52
Goto...............................................52
Распределение памяти..................................53
Хрупкие типы данных..................................54
Ненадежное приведение типов............................55
Ненадежные списки аргументов...........................55
Раздельные файлы заголовков............................55
Ненадежные структуры.................................56
Препроцессорная обработка..............................56
QED...............................................57
Глава 3. Введение в язык Java.............................59
Hello World........................................60
Шаг за шагом......................................61
Строка 1............................................61
Строка 2............................................61
Строка 3............................................63
Лексические основы..................................64
Пробелы............................................64
Комментарии........................................65
Зарезервированные ключевые слова........................67
Идентификаторы......................................67
Литералы...........................................68
Операторы......................................... . 71
Разделители.........................................71
Переменные........................................72
Объявление переменной.................................72
Область видимости переменной............................73
Ваш первый шаг....................................74
Глава 4. Типы..........................................75
Простые типы.......................................76
Числовые типы.......................................77
Целые числа.........................................78
Числа с плавающей точкой..............................81
Приведение типа......................................82
Символы...........................................85
Тип boolean.........................................86
Завершая разговор о простых типах.........................86
Массивы...........................................87
Многомерные массивы..................................89
Знай свои типы.....................................91
Глава б. Операторы......................................93
Арифметические операторы..............................94
Целочисленные битовые операторы.........................98
Операторы отношения.................................106
Булевы логические операторы...........................107
Операторы быстрой оценки логических выражений (short circuit
logical operators)....................'.................109
Приоритеты операторов................................Ill
Что дальше?........................................113
Глава 6. Управление выполнением программы...............115
Условные операторы.................................116
if-else.............................................116
break.............................................118
switch............................................119
return............................................122
Циклы...........................................123
while............................................ . 123
do-while...........................................124
for...............................,...............125
Оператор запятая....................................127
continue..........................................128
Исключения.......................................130
Вниз по течению...................................130
Глава 7. Классы.......................................131
Ссылки на объекты................................. 133
Переменные представителей (instance variables)............. 134
Оператор new...................................... 134
Оператор точка (.).................................. 136
Объявление методов ................................. 137
Вызов метода...................................... 138
this............................................. 139
Скрытие переменных представителей...................... 139
Конструкторы...................................... 141
Совмещение методов................................. 142
this в конструкторах.................................. 143
Наследование...................................... 144
super............................................ 145
Замещение методов.................................. 146
Динамическое назначение методов....................... 148
final............................................. 149
finalize........................................... 150
static............................................ 151
abstract........................................... 153
Классическое заключение............................. 154
Глава 8. Пакеты и интерфейсы............................155
Пакеты.....................•......................156
Оператор package....................................156
Трансляция классов в пакетах...........................157
Оператор import.....................................158
Ограничение доступа.................................. 159
Интерфейсы....................................... 163
Оператор interface....................................164
Оператор implementts.................................165
Переменные в интерфейсах.............................168
Использование пакетов...............................169
Часть П. Классы Java
Глава 9. Работа со строками..............................173
Конструкторы...................................... 174
Специальный синтаксис для работы со строками. ..-...•......176
Создание строк......................................176
Слияние строк......................................177
Последовательность выполнения операторов.................178
Преобразование строк.................................179
Извлечение символов.................................180
Сравнение......................................... 181
Равенство..........................................182
Упорядочение.......................................183
mdexUl и lastlndexUl................................184
Модификация строк при копировании....................186
substring..........................................186
concat............................................186
replace............................................186
toLowerCase и toUpperCase..............................186
trim..............................................187
valueOf...........................................187
StringBuffer.......................................188
Конструкторы.......................................188
ensureCapacity.......................................189
setLength..........................................189
charAt и setCharAt...................................189
getChars...........................................190
append...........................................190
insert............................................190
Без строк не обойдешься.............................191
Глава 10. Обработка исключений.......................... 193
Основы...........................................194
Типы исключений...................................195
Неперехваченные исключения..........................195
try и catch........................................196
Несколько разделов catch.............................198
Вложенные операторы try.............................199
throw............................................199
throws...........................................201
finally............................................202
Подклассы Exception.................................204
Заключительное резюме..............................205
Глава 11. Легковесные процессы и синхронизация............207
Цикл обработки событий в случае единственного
подпроцесса.......................................209
Модель легковесных процессов в Java....................209
Приоритеты подпроцессов..............................210
Синхронизация.......................................211
Сообщения.........................................211
Подпроцесс........................................212
Runnable..........................................213
Приоритеты подпроцессов.............................215
Синхронизация.....................................217
Оператор synchronized.................................220
Взаимодействие подпроцессов...........................220
Клинч (deadlock).....................................224
Сводка функций программного интерфейса
легковесных процессов...............................226
Методыкласса.......................................227
Методы объекта.....................................227
А дорога дальше вьется..............................229
Глава 12. Утилиты.....................................231
Простые оболочки для типов...........................232
Number...........................................232
Character..........................................234
Boolean............................................235
Перечисления......................................235
Интерфейс Enumeration................................235
Vector............................................236
Dictionary..........................................238
StringTokenizer.......................................240
Runtime..........................................241
Управление памятью..................................242
Выполнение других программ...........................242
System...........................................243
Свойства окружения..................................245
Date.............................................245
get и set...........................................245
Сравнение.........................................246
Строки и часовые пояса................................246
Math............................................247
Тригонометрические функции........................... 247
Степенные, показательные и логарифмические функции.........247
Округление.........................................247
Random..........................................248
Счет за услуги.....................................248
Глава 13. Ввод/Вывод...................................249
File.............................................250
Каталоги..........................................252
FilenameFilter.......................................253
InputStream......'.................................254
OutputStream......................................255
Файловые потоки.......•............................255
FilelnputStream......................................255
FileOutputStream.....................................256
ByteArraylnputStream.................................258
ByteArrayOutputStream................................258
StringBufferlnputStream...............................260
Фильтруемые потоки.................................260
Буферизованные потоки................................260
PushbacklnputStream..................................262
SequencelnputStream.................................262
PrintStream........................................264
Собирая все это воедино..............................264
По течению грести легче..............................267
Глава 14. Сетевые средства...............................269
InetAddress........................................270
Фабричные методы...................................270
Дейтаграммы.......................................271
DatagramPacket......................................271
кокеты «для клиентов»...............................2Y4
Сокеты «для серверов»...............................275
Простой HTTP-сервер.................................276
URL.............................................282
URLConnection.....................................283
Сеть и только сеть..................................284
Глава 15. Апплеты.....................................285
Тег HTML .................................287
Синтаксис тега ............................288
Передача параметров
getParameter(String)..................................289
Откуда я пришел?
getDocumentBase и getCodeBase..........................290
AppletContext и showDocument...........................290
Отладка в стиле....................................291
Порядок инициализации апплета........................291
init..............................................292
start..............................................292
paint.............................................292
update............................................292
stop..............................................292
destroy............................................293
Перерисовка.......................................293
repaint............................................293
Задание размеров графических изображений................294
Простые методы класса Graphics..........................295
drawLine..........................................297
drawArc и fillArc.....................................299
drawPolygon и fillPolygon...............................299
Цвет.............................................300
Color(int, int, int)....................................301
Color(int)..........................................302
Color(float, float, float).................................302
Методы класса Color.................................302
HSBtoRGB(float, float, float),
RGBtoHSB(int, int, int, floatf])...........................302
getRed(), getGreen(), getBlue()............................302
getRGB()..........................................303
setPaintMode() и setXORMode(Color).......................303
Шрифты..........................................303
drawString.........................................304
Использование шрифтов...............................304
Позиционирование и шрифты: FontMetrics..................305
Использование FontMetrics.............................306
Центрирование текста.................................307
Выравнивание нескольких строк текста...................308
Набор строк с выравниванием...........................309
Конец графики?................................... . 312
Глава 16. Набор абстракций для работы с окнами.............315
Компоненты.......................................317
Container..........................................318
Panel.............................................318
Canvas............................................318
Label.............................................320
Button............................................321
Checkbox..........................................323
CheckboxGroup......................................324
Choice............................................325
List..............................................326
Scrollbar...........................................327
TextField..........................................329
TextArea..........................................330
Layout...........................................331
LayoutManager......................................332
Меню............................................337
Event............................................338
AWT при свете дня.................................341
Глава 17. Работа с изображениями.........................343
Простой загрузчик изображений........................344
ImageObserver......................................346
Пример с ImageObserver................................347
Графическая обратная связь...........................349
MediaTracker. . : . ....................................350
ImageProducer......................................352
MemorylmageSource...................................352
ImageFilter и ImageFiiterSource.........................353
CropImageFilter......................................354
RGBImageFilter......................................355
Загрузка и Мультипликация...........................357
Star Seven........................................360
Часть III. Апплеты Java
Глава 18. Апплет Impression..............................363
Исходный текст....................................365
Последние впечатления...............................375
Глава 19. DynaDraw....................................377
Исходный текст программы............................378
От С к Java.......................................388
Результаты DynaDraw................................398
Глава 20. Притягательная поэзия..........................401
Исходный код......................................403
Привлекательная индивидуальность......................413
Приложение А. Как получить JDK.........................417
Windows 95/NT, UNIX (Solaris) и Macintosh...............418
Linux.............................................419
Silicon Graphics......................................419
Другие операционные системы и среды..................... 419
Установка.........................................419
Windows 95/NT......................................419
UNIX.............................................421
Макинтош.........................................421
Первые шаги......................................422
Инструменты сторонних разработчиков...................423
Среды разработки....................................423
Документация.......................................423
Отладчики.........................................425
Другие ресурсы для программирования на Java...............426
Эпилог. Долгое и удивительное путешествие в мир Java........429


Hosted by uCoz