Ешь, двигайся, спи Жесткий подход Дэна Кеннеди Телефоны Бизбук - c 10 до 18 по будним дням
 
Наши проекты:
Вход для зарегистрированных пользователей
Регистрация нового пользователя
Каталог книг Новинки Анонсы Заказы / Корзина Рассылка Оплата и Доставка Контакты
Вы находитесь в разделе каталога:
• Философия Java. 4-е полное изд., Брюс Эккель


Философия Java. 4-е полное изд.
Философия Java. 4-е полное изд.
Брюс Эккель
Год выпуска: 2016
Изд-во: Питер
ISBN: 978-5-496-01127-3
Переплёт: твердый
1168 страниц
Цена: 979.00 грн.
Временно отсутствует     Оставить заявку

Впервые читатель может познакомиться с полной версией классического труда "Философия Java", который ранее на русском языке печатался в сокращении. Книга, выдержавшая в оригинале не одно переиздание, за глубокое и поистине философское изложение тонкостей языка Java считается одним из лучших пособий для программистов. Чтобы по-настоящему понять язык Java, необходимо рассматривать его не просто как набор неких команд и операторов, а понять его "философию", подход к решению задач, в сравнении с таковыми в других языках программирования.

На страницах книги "Философия Java. 4-е полное издание" Брюс Эккель рассказывает об основных проблемах написания кода: в чем их природа и какой подход использует Java в их разрешении. Поэтому обсуждаемые в каждой главе черты языка неразрывно связаны с тем, как они используются для решения определенных задач.




Содержание книги Брюса Эккеля "Философия Java. 4-е полное издание"



Предисловие .............................................................................................................25
Java SE5 и SE6 ..................................................................................................................................26
Java SE6...............................................................................................................................................27
Четвертое издание...........................................................................................................................27
Изменения..........................................................................................................................................27
Предпосылки.....................................................................................................................................34
Изучение Java ...................................................................................................................................34
Цели......................................................................................................................................................35
Обучение по материалам книги .................................................................................................36
HTML-документация JDK...........................................................................................................36
Ошибки...............................................................................................................................................39

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

Глава 2. Все является объектом ..............................................................................70
Для работы с объектами используются ссылки....................................................................70
Все объекты должны создаваться явно....................................................................................71
Где хранятся данные ...................................................................................................................72
Особый случай: примитивные типы.....................................................................................73
Числа повышенной точности................................................................................................74
Массивы в Java .............................................................................................................................74
Объекты никогда не приходится удалять...............................................................................75
Ограничение области действия ..............................................................................................75
Область действия объектов......................................................................................................76
Создание новых типов данных ...................................................................................................76
Поля и методы ..............................................................................................................................77
Значения по умолчанию для полей примитивных типов...........................................78
Методы, аргументы и возвращаемые значения ....................................................................78
Список аргументов......................................................................................................................79
Создание программы на Java.......................................................................................................80
Видимость имен ...........................................................................................................................80
Использование внешних компонентов ................................................................................81
Ключевое слово static.....................................................................................................................82
Ваша первая программа на Java..................................................................................................83
Компиляция и выполнение......................................................................................................85
Комментарии и встроенная документация ............................................................................87
Документация в комментариях ..............................................................................................87
Синтаксис.......................................................................................................................................88
Встроенный HTML.....................................................................................................................88
Примеры тегов..............................................................................................................................89
@see: ссылка на другие классы..............................................................................................89
{@link пакет.класс#член_класса метка}............................................................................89
{@docRoot}...................................................................................................................................90
{@inheritDoc} ..............................................................................................................................90
@version ........................................................................................................................................90
@author..........................................................................................................................................90
@since.............................................................................................................................................90
@param...........................................................................................................................................90
@return ..........................................................................................................................................90
@throws.........................................................................................................................................91
@deprecated..................................................................................................................................91
Пример документации...............................................................................................................91
Стиль оформления программ .....................................................................................................92
Резюме.................................................................................................................................................92
Упражнения.......................................................................................................................................93

Глава 3. Операторы ..................................................................................................95
Простые команды печати..............................................................................................................95
Операторы Java ................................................................................................................................96
Приоритет.......................................................................................................................................96
Присваивание................................................................................................................................97
Совмещение имен во время вызова методов ...................................................................98
Математические операторы.....................................................................................................99
Унарные операторы плюс и минус...................................................................................... 101
Автоувеличение и автоуменьшение................................................................................... 101
Операторы сравнения ............................................................................................................. 103
Проверка объектов на равенство ...................................................................................... 103
Логические операторы............................................................................................................ 104
Ускоренное вычисление....................................................................................................... 105
Литералы......................................................................................................................................... 106
Экспоненциальная запись ..................................................................................................... 108
Поразрядные операторы ........................................................................................................ 109
Операторы сдвига..................................................................................................................... 110
Тернарный оператор ................................................................................................................ 113
Операторы + и += для String................................................................................................ 114
Типичные ошибки при использовании операторов...................................................... 115
Операторы приведения........................................................................................................... 116
Округление и усечение........................................................................................................... 117
Повышение............................................................................................................................... 118
В Java отсутствует sizeof............................................................................................................. 118
Сводка операторов ................................................................................................................... 118
Резюме.............................................................................................................................................. 126

Глава 4. Управляющие конструкции.................................................................... 127
true и false..................................................................................................................................... 127
if-else .............................................................................................................................................. 127
Циклы ........................................................................................................................................... 128
do-while......................................................................................................................................... 129
for.................................................................................................................................................... 129
Оператор-запятая ..................................................................................................................... 131
Синтаксис foreach......................................................................................................................... 131
return................................................................................................................................................. 133
break и continue ............................................................................................................................. 134
Нехорошая команда goto ........................................................................................................... 136
switch............................................................................................................................................. 140
Резюме.............................................................................................................................................. 142

Глава 5. Инициализация и завершение............................................................... 143
Конструктор гарантирует инициализацию......................................................................... 143
Перегрузка методов ..................................................................................................................... 145
Различение перегруженных методов................................................................................. 147
Перегрузка с примитивами ................................................................................................... 148
Перегрузка по возвращаемым значениям........................................................................ 151
Конструкторы по умолчанию............................................................................................... 152
Ключевое слово this................................................................................................................. 153
Вызов конструкторов из конструкторов .......................................................................... 155
Значение ключевого слова static ......................................................................................... 156
Очистка: финализация и уборка мусора .............................................................................. 157
Для чего нужен метод finalize()? ......................................................................................... 158
Очистка - ваш долг ................................................................................................................. 159
Условие "готовности" ............................................................................................................. 159
Как работает уборщик мусора.............................................................................................. 161
Инициализация членов класса ................................................................................................ 164
Явная инициализация............................................................................................................. 165
Инициализация конструктором.............................................................................................. 167
Порядок инициализации........................................................................................................ 167
Инициализация статических данных................................................................................ 168
Явная инициализация статических членов..................................................................... 171
Инициализация нестатических данных экземпляра ................................................. 172
Инициализация массивов ......................................................................................................... 173
Списки аргументов переменной длины............................................................................ 177
Перечисления ................................................................................................................................ 182
Резюме.............................................................................................................................................. 184

Глава 6. Управление доступом ............................................................................. 186
Пакет как библиотечный модуль............................................................................................ 187
Структура кода .......................................................................................................................... 188
Создание уникальных имен пакетов.................................................................................. 190
Конфликты имен.................................................................................................................... 192
Пользовательские библиотеки............................................................................................. 193
Использование импортирования для изменения поведения.................................... 194
Предостережение при работе с пакетами......................................................................... 195
Спецификаторы доступа Java .................................................................................................. 195
Доступ в пределах пакета....................................................................................................... 195
public.............................................................................................................................................. 196
Пакет по умолчанию ............................................................................................................. 197
private............................................................................................................................................ 197
protected ....................................................................................................................................... 198
Интерфейс и реализация ........................................................................................................... 200
Доступ к классам .......................................................................................................................... 201
Резюме.............................................................................................................................................. 205

Глава 7. Повторное использование классов........................................................ 206
Синтаксис композиции .............................................................................................................. 206
Синтаксис наследования ........................................................................................................... 209
Инициализация базового класса......................................................................................... 211
Конструкторы с аргументами ............................................................................................ 212
Делегирование............................................................................................................................... 214
Сочетание композиции и наследования............................................................................... 215
Обеспечение правильного завершения............................................................................. 217
Сокрытие имен .......................................................................................................................... 220
Композиция в сравнении с наследованием......................................................................... 221
protected........................................................................................................................................... 222
Восходящее преобразование типов........................................................................................ 224
Почему "восходящее преобразование"? .......................................................................... 224
Снова о композиции с наследованием............................................................................ 225
Ключевое слово final.................................................................................................................... 226
Неизменные данные ................................................................................................................ 226
Пустые константы.................................................................................................................. 228
Неизменные аргументы ....................................................................................................... 229
Неизменные методы ................................................................................................................ 229
Спецификаторы final и private........................................................................................... 230
Неизменные классы................................................................................................................. 231
Предостережение ...................................................................................................................... 232
Инициализация и загрузка классов....................................................................................... 233
Инициализация с наследованием....................................................................................... 234
Резюме.............................................................................................................................................. 235

Глава 8. Полиморфизм.......................................................................................... 237
Снова о восходящем преобразовании ................................................................................... 238
Потеря типа объекта ................................................................................................................ 239
Особенности................................................................................................................................... 240
Связывание "метод-вызов"................................................................................................... 240
Получение нужного результата ........................................................................................... 241
Расширяемость .......................................................................................................................... 244
Проблема: "переопределение" закрытых методов........................................................ 247
Проблема: поля и статические методы.............................................................................. 248
Конструкторы и полиморфизм................................................................................................ 249
Порядок вызова конструкторов........................................................................................... 249
Наследование и завершающие действия.......................................................................... 251
Поведение полиморфных методов при вызове из конструкторов .......................... 256
Ковариантность возвращаемых типов .................................................................................. 258
Наследование при проектировании....................................................................................... 259
Нисходящее преобразование и динамическое определение типов......................... 260
Резюме.............................................................................................................................................. 261

Глава 9. Интерфейсы............................................................................................. 263
Абстрактные классы и методы................................................................................................. 263
Интерфейсы ................................................................................................................................... 266
Отделение интерфейса от реализации.................................................................................. 270
"Множественное наследование" в Java................................................................................ 274
Расширение интерфейса через наследование..................................................................... 276
Конфликты имен при совмещении интерфейсов.......................................................... 278
Интерфейсы как средство адаптации.................................................................................... 279
Поля в интерфейсах................................................................................................................. 281
Инициализация полей интерфейсов ................................................................................. 281
Вложенные интерфейсы ............................................................................................................ 282
Интерфейсы и фабрики ............................................................................................................. 285
Резюме.............................................................................................................................................. 287

Глава 10. Внутренние классы ............................................................................... 288
Создание внутренних классов ................................................................................................. 288
Ссылка на внешний класс...................................................................................................... 290
.this и .new ....................................................................................................................................... 292
Внутренние классы и восходящее преобразование.......................................................... 293
Внутренние классы в методах и областях действия......................................................... 295
Анонимные внутренние классы .............................................................................................. 297
Снова о паттерне "Фабричный метод"................................................................................. 301
Вложенные классы....................................................................................................................... 303
Классы внутри интерфейсов................................................................................................. 305
Доступ вовне из многократно вложенных классов....................................................... 306
Внутренние классы: зачем?....................................................................................................... 306
Замыкания и обратные вызовы ........................................................................................... 309
Внутренние классы и система управления...................................................................... 311
Наследование от внутренних классов................................................................................... 317
Можно ли переопределить внутренний класс? ................................................................. 318
Локальные внутренние классы............................................................................................ 319
Идентификаторы внутренних классов ............................................................................. 321
Резюме.............................................................................................................................................. 322

Глава 11. Коллекции объектов............................................................................. 323
Обобщенные типы и классы, безопасные по отношению к типам.............................. 324
Основные концепции.................................................................................................................. 327
Добавление групп элементов ................................................................................................... 329
Вывод контейнеров .................................................................................................................. 330
List...................................................................................................................................................... 333
Итераторы....................................................................................................................................... 336
ListIterator................................................................................................................................... 339
LinkedList ....................................................................................................................................... 340
Стек ................................................................................................................................................... 341
Множество ...................................................................................................................................... 343
Map .................................................................................................................................................... 346
Очередь ............................................................................................................................................ 350
PriorityQueue ................................................................................................................................. 351
Collection и Iterator ..................................................................................................................... 353
Foreach и итераторы .................................................................................................................... 356
Идиома "Метод-Адаптер"......................................................................................................... 358
Резюме.............................................................................................................................................. 361

Глава 12. Обработка ошибок и исключения ....................................................... 365
Основные концепции.................................................................................................................. 365
Основные исключения ............................................................................................................... 366
Аргументы исключения.......................................................................................................... 368
Перехват исключений................................................................................................................. 369
Блок try......................................................................................................................................... 369
Обработчики исключений..................................................................................................... 369
Прерывание и возобновление............................................................................................ 370
Создание собственных исключений ...................................................................................... 370
Вывод информации об исключениях .................................................................................... 373
Спецификация исключений..................................................................................................... 376
Перехват любого типа исключения........................................................................................ 377
Трассировка стека..................................................................................................................... 379
Повторное возбуждение исключения................................................................................ 379
Цепочки исключений .............................................................................................................. 382
Стандартные исключения Java ................................................................................................ 385
Особый случай: RuntimeException..................................................................................... 386
Завершение с помощью finally................................................................................................. 387
Для чего нужен блок finally?................................................................................................. 389
Использование finally при return ....................................................................................... 391
Ловушка: потерянное исключение ..................................................................................... 392
Ограничения исключений......................................................................................................... 394
Конструкторы................................................................................................................................ 397
Отождествление исключений.................................................................................................. 402
Альтернативные решения.......................................................................................................... 403
Предыстория .............................................................................................................................. 404
Перспективы............................................................................................................................... 406
Передача исключений на консоль....................................................................................... 408
Преобразование контролируемых исключений в неконтролируемые .................. 408
Рекомендации по использованию исключений............................................................. 411
Резюме.............................................................................................................................................. 411

Глава 13. Строки .................................................................................................... 413
Постоянcтво строк ....................................................................................................................... 413
Перегрузка + и StringBuilder.................................................................................................... 414
Непреднамеренная рекурсия.................................................................................................... 418
Операции со строками ............................................................................................................ 419
Форматирование вывода ........................................................................................................... 421
printf() .......................................................................................................................................... 421
System.out.format() .................................................................................................................. 422
Класс Formatter......................................................................................................................... 422
Форматные спецификаторы ................................................................................................. 423
Преобразования Formatter.................................................................................................... 425
String.format() ........................................................................................................................... 427
Вывод файла в шестнадцатеричном виде......................................................................... 428
Регулярные выражения.............................................................................................................. 429
Основы.......................................................................................................................................... 429
Создание регулярных выражений...................................................................................... 432
Квантификаторы....................................................................................................................... 433
CharSequence ............................................................................................................................. 434
Pattern и Matcher...................................................................................................................... 434
find() ............................................................................................................................................. 436
Группы .......................................................................................................................................... 437
start() и end() ............................................................................................................................. 438
Флаги шаблонов........................................................................................................................ 440
split() ............................................................................................................................................ 442
Операции замены...................................................................................................................... 442
reset() ........................................................................................................................................... 444
Регулярные выражения и ввод-вывод в Java.................................................................. 445
Сканирование ввода ................................................................................................................ 446
Ограничители Scanner............................................................................................................ 448
Сканирование с использованием регулярных выражений........................................ 449
StringTokenizer .............................................................................................................................. 450
Резюме.............................................................................................................................................. 450

Глава 14. Информация о типах............................................................................. 451
Необходимость в динамическом определении типов (RTTI) ...................................... 451
Объект Class................................................................................................................................ 454
Литералы class......................................................................................................................... 459
Ссылки на обобщенные классы........................................................................................... 461
Новый синтаксис приведения типа.................................................................................... 463
Проверка перед приведением типов .................................................................................. 464
Использование литералов class............................................................................................ 470
Динамическая проверка типа ............................................................................................... 472
Рекурсивный подсчет ........................................................................................................... 473
Зарегистрированные фабрики................................................................................................. 475
instanceof и сравнение объектов Class............................................................................. 478
Отражение: динамическая информация о классе ............................................................. 479
Извлечение информации о методах класса..................................................................... 480
Динамические заместители ...................................................................................................... 483
Null-объекты................................................................................................................................... 487
Фиктивные объекты и заглушки......................................................................................... 493
Интерфейсы и информация типов......................................................................................... 494
Резюме.............................................................................................................................................. 499

Глава 15. Обобщенные типы ................................................................................ 501
Сравнение с C++ .......................................................................................................................... 502
Простые обобщения..................................................................................................................... 503
Библиотека кортежей.............................................................................................................. 504
Класс стека .................................................................................................................................. 507
RandomList ................................................................................................................................. 508
Обобщенные интерфейсы ......................................................................................................... 509
Обобщенные методы................................................................................................................... 512
Использование автоматического определения аргументов-типов ......................... 513
Явное указание типа ................................................................................................................ 515
Списки аргументов переменной длины и обобщенные методы............................... 515
Обобщенный метод для использования с генераторами............................................ 516
Генератор общего назначения............................................................................................... 517
Упрощение использования кортежей................................................................................ 518
Операции с множествами ...................................................................................................... 520
Анонимные внутренние классы .............................................................................................. 523
Построение сложных моделей................................................................................................. 524
Загадка стирания.......................................................................................................................... 526
Подход C++.................................................................................................................................... 528
Миграционная совместимость............................................................................................. 530
Проблема стирания.................................................................................................................. 531
Граничные ситуации................................................................................................................ 533
Компенсация стирания............................................................................................................... 536
Создание экземпляров типов ............................................................................................... 537
Массивы обобщений................................................................................................................ 540
Ограничения .................................................................................................................................. 544
Маски................................................................................................................................................ 548
Насколько умен компилятор?.............................................................................................. 550
Контравариантность ............................................................................................................... 552
Неограниченные маски........................................................................................................... 555
Фиксация..................................................................................................................................... 560
Проблемы........................................................................................................................................ 561
Примитивы не могут использоваться как параметры-типы...................................... 561
Реализация параметризованных интерфейсов .............................................................. 563
Приведения типа и предупреждения................................................................................. 563
Перегрузка .................................................................................................................................. 565
Перехват интерфейса базовым классом............................................................................ 566
Самоограничиваемые типы ...................................................................................................... 567
Необычные рекурсивные обобщения................................................................................ 567
Самоограничение...................................................................................................................... 568
Ковариантность аргументов ................................................................................................. 570
Динамическая безопасность типов ........................................................................................ 573
Исключения.................................................................................................................................... 574
Примеси ....................................................................................................................................... 576
Примеси в C++.......................................................................................................................... 576
Примеси с использованием интерфейсов ........................................................................ 577
Использование паттерна "Декоратор".............................................................................. 579
Примеси и динамические заместители............................................................................. 580
Латентная типизация.................................................................................................................. 582
Компенсация отсутствия латентной типизации ............................................................... 586
Отражение................................................................................................................................... 586
Применение метода к последовательности ..................................................................... 587
Если нужный интерфейс отсутствует ............................................................................... 590
Моделирование латентной типизации с использованием адаптеров .................... 591
Использование объектов функций как стратегий ............................................................ 594
Резюме.............................................................................................................................................. 599
Дополнительная литература................................................................................................. 601

Глава 16. Массивы ................................................................................................. 602
Особое отношение к массивам............................................................................................. 602
Массивы как полноценные объекты.................................................................................. 604
Возврат массива ............................................................................................................................ 607
Многомерные массивы............................................................................................................... 608
Массивы и обобщения................................................................................................................ 612
Создание тестовых данных ....................................................................................................... 614
Arrays.fill() .................................................................................................................................. 614
Генераторы данных................................................................................................................... 615
Применение генераторов для создания массивов............................................................. 620
Класс Arrays................................................................................................................................ 624
Копирование массива.............................................................................................................. 624
Сравнение массивов ................................................................................................................ 625
Сравнения элементов массивов........................................................................................... 626
Сортировка массива................................................................................................................. 630
Поиск в отсортированном массиве..................................................................................... 631
Резюме.............................................................................................................................................. 633

Глава 17. Подробнее о контейнерах .................................................................... 636

Глава 18. Система ввода-вывода................................................................. 723

Глава 19. Перечислимые типы ............................................................................. 811

Глава 20. Аннотации.............................................................................................. 849

Глава 21. Параллельное выполнение.................................................................. 887

Глава 22. Графический интерфейс ................................................................... 1039
Основы Swing .............................................................................................................................. 1042
Модель событий библиотеки Swing .................................................................................... 1054
Компоненты Swing..................................................................................................................... 1063
JNLP и Java Web Start............................................................................................................... 1098
Параллельное выполнение и Swing ..................................................................................... 1103
Визуальное программирование и компоненты JavaBean............................................. 1112
Альтернативы для Swing.......................................................................................................... 1129
Построение веб-клиентов Flash с использованием Flex............................................... 1130
Создание приложений SWT................................................................................................... 1141

Приложение А...................................................................................................... 1157
Приложение Б. Ресурсы ...................................................................................... 1159


С этой книгой чаще всего покупают:
Структуры данных и алгоритмы в Java. Классика Computers Science. 2-е изднание

Структуры данных и алгоритмы в Java. Классика Computers Science. 2-е изднание

Лафоре Р.
Год выпуска: 2016
Изд-во: Питер
Временно отсутствует   Оставить заявку
 
Руководство для программиста на Java: 75 рекомендаций по написанию надежных и защищенных программ

Руководство для программиста на Java: 75 рекомендаций по написанию надежных и защищенных программ

рекомендуем
Фрэд Лонг, Дхрув Мохиндра, Роберт С. Сикорд, Дин Ф. Сазерленд, Дэвид Свобода
Год выпуска: 2014
Изд-во: Диалектика-Вильямс
в корзину
Только на 1 книгу
Цена: 740.00 грн. 
 
Цена: 215.00 грн. 
Алгоритмы на Java

Алгоритмы на Java

рекомендуем
Роберт Седжвик, Кевин Уэйн
Год выпуска: 2016
Изд-во: Диалектика-Вильямс
Временно отсутствует   Оставить заявку
 
Язык программирования Java SE 8. Подробное описание

Язык программирования Java SE 8. Подробное описание

рекомендуем
Джеймс Гослинг, Билл Джой, Гай Стил, Гилад Брача, Алекс Бакли
Год выпуска: 2016
Изд-во: Диалектика-Вильямс
Временно отсутствует Оставить заявку
Цена: 1050.00 грн. 
 
Цена: 800.00 грн. 
Java. Библиотека профессионала, том 2. Расширенные средства программирования

Java. Библиотека профессионала, том 2. Расширенные средства программирования

Кей С. Хорстманн, Гари Корнелл
Год выпуска: 2016
Изд-во: Диалектика-Вильямс
в корзину
Только на 1 книгу
 
Java SE 8. Вводный курс

Java SE 8. Вводный курс

Кей С. Хорстманн
Год выпуска: 2014
Изд-во: Диалектика-Вильямс
в корзину
Только на 1 книгу
Цена: 580.00 грн. 
 
Цена: 265.00 грн. 
Java 8. Карманный справочник

Java 8. Карманный справочник

Роберт Лигуори, Патрисия Лигуори
Год выпуска: 2016
Изд-во: Диалектика-Вильямс
Временно отсутствует   Оставить заявку
 
   
Цена: 265.00 грн. 
   

Хотите оставить отзыв? У Вас возникли вопросы о книге "Философия Java. 4-е полное изд., Брюс Эккель" ? Пишите:

* Текст сообщения:
 
  Отправить
Поиск по каталогу
 поиск в аннотациях
Искать

* Подробнее об условиях доставки смотрите в разделе "Оплата и Доставка" нашего магазина.
Если у Вас возникли вопросы как подобрать и купить книги в нашем интернет-магазине звоните с 9 до 18 по будним дням: Киев 331-04-53, Водафон (050) 809-56-66, Киевстар (067) 408-26-36, Лайф (063) 227-24-47, Интертелеком (094) 831-04-53 или пишите нам

 
   
  Programming - Dmitriy Kotov & Andrey Kotov