Философия Java3

Эккель Брюс

Закладки
Размер шрифта
A   A+   A++
Cкачать
Читать
Философия Java3 ( Эккель Брюс)

БИБЛИОТЕКА ПРОГРАММИСТА

Брюс Эккель

4-е издание

{^ППТЕР

Москва - Санкт-Петербург - Нижний Новгород - Воронеж Ростов-на-Дону - Екатеринбург - Самара - Новосибирск Киев - Харьков - Минск

2009

ББК 32.973 2-018.1

УДК 004.3

Э38

Эккель Б.

Э38 Философия Java. Библиотека программиста. 4-е изд. — СПб.: Питер, 2009. — 640 е.: ил. — (Серия «Библиотека программиста»).

ISBN 978-5-388-00003-3

Java нельзя понять, взглянув на него только как на коллекцию некоторых харакюриешк, - необходимо понять задачи этого языка как частные задачи программирования в целом. r3ia книга — о проблемах программирования: почему они стали проблемами и какой подход использует Java в их решении. Поэтому обсуждаемые в каждой главе черты языка неразрывно связаны с тем, как они используются для решения определенных задач.

Эта книга, выдержавшая в оригинале не одно переиздание, благодаря глубокому и поистине философскому изложению тонкостей языка считается одним из лучших пособий для программирующих на Java.

ББК 32.973.2-018.1 УДК 004.3

Права на издание получены по соглашению с Prentice Hall PTR.

Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.

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

ISBN 978-0131872486 (англ ) © Prentice Hall PTR, 2006

ISBN 978-5-388-00003-3 © Перевод на русский язык ООО «Питер Пресс», 2009

Содержание

Предисловие............................13

Java SE5 и SE6................................14

Благодарности................................14

Глава 1. Введение в объекты....................17

Развитие абстракции........ ...................18

Объект имеет интерфейс..........................20

Объект предоставляет услуги........................22

Скрытая реализация.............................23

Повторное использование реализации....................24

Наследование................................25

Взаимозаменяемые объекты и полиморфизм.................29

Однокорневая иерархия...........................33

Контейнеры.................................33

Параметризованные типы..........................35

Создание, использование объектов и время их жизни............36

Обработка исключений: борьба с ошибками.................38

Параллельное выполнение.........................38

Java и Интернет...............................39

Резюме...................................47

Глава 2. Все является объектом..................48

Для работы с объектами используются ссылки................48

Все объекты должны создаваться явно...................49

Объекты никогда не приходится удалять..................53

Создание новых типов данных.........................54

Методы, аргументы и возвращаемые значения...............56

Создание программы на Java........................58

Ключевое слово static............................60

Наша первая программа на Java.......................61

Комментарии и встроенная документация..................64

Стиль оформления программ........................70

Резюме...................................70

Глава 3. Операторы........................71

Простые команды печати..........................71

Операторы Java...............................72

Литералы..................................82

В Java отсутствует sizeof..........................92

Резюме...................................100

Глава 4. Управляющие конструкции................101

Синтаксис foreach.............................105

return, ...................................107

break и continue..............................108

Нехорошая команда goto..........................109

Резюме...................................115

Глава 5. Инициализация и завершение..............116

Конструктор гарантирует инициализацию.................116

Перегрузка методов............................118

Очистка: финализация и сборка мусора..................130

Инициализация членов класса.......................137

Инициализация конструктором.......................140

Инициализация массивов..........................146

Резюме...................................151

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

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

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

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

Доступ к классам..............................164

Резюме...................................167

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

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

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

Делегирование...............................176

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

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

protected..................................185

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

Алфавит

Предложения

Copyrights and trademarks for the book, and other promotional materials are the property of their respective owners. Use of these materials are allowed under the fair use clause of the Copyright Law.