"Изучаем Java" - это не просто книга. Она не только научит вас теории языка Java и объектно-ориентированного программирования, она сделает вас программистом. В ее основу положен уникальный метод обучения на практике. В отличие от классических учебников информация дается не в текстовом, а в визуальном представлении. Вы освоите в деле все самое нужное: синтаксис и концепции языка, работу с потоками, работу в сети, распределенное программирование. Вся теория закрепляется интереснейшими примерами и тестами.
Название: Изучаем Java. 2-е издание Автор: Сьерра К., Бэйтс Б Издательство: Эксмо Год: 2012 Страниц: 708 Формат: DJVU Размер: 135 МБ ISBN: 978-5-699-54574-2 Качество: Отличное Серия или Выпуск: Мировой компьютерный бестселлер
Содержание:
Введение 1. Погружаемся Как работает Java Краткая история Java Структура кода в Java Структура класса Создание класса с методом main Что можно разместить внутри главного метода Зацикливаем, зацикливаем и… Условное ветвление Создание серьезного бизнес-приложения Генератор фраз Упражнения 2. Путешествие в Обьектвилль Война за кресло, или Как объекты могут изменить вашу жизнь Создаем первый объект Создание и тестирование объектов Movie Скорее! Выбирайтесь из главного метода! Запускаем нашу игру Упражнения 3. Свои переменные нужно знать в лицо Объявление переменной Простые типы Ключевые слова в Java Управление объектом Управление объектом с помощью ссылки Массивы Упражнения 4. Как себя ведут объекты Класс описывает, что объект знает и делает Передаем методу разные значения Получаем значения обратно из метода Передаем в метод сразу несколько значений Трюки с параметрами и возвращаемыми значениями Инкапсуляция Объекты внутри массива Объявление и инициализация переменных экземпляра Разница между переменными экземпляра и локальными переменными Сравниваем переменные (примитивы или ссылки) Упражнения 5. Особо мощные методы Создадим аналог «Морского боя»: игра «Потопи сайт» Плавное введение в игру «Потопи сайт» Разработка класса Записываем реализацию метода Тестовый код для класса SimpleDotCom Метод checkYouselfO Метод mainO в игре Поговорим о циклах for Путешествия сквозь цикл Улучшенный цикл for Приведение простых типов Упражнения 6. Использование библиотеки Java Небольшая интрига из предыдущей главы - ошибка Примеры использования ArrayList Сравнение ArrayList с обычным массивом Исправляем код класса DotCom Новый и улучшенный класс DotCom Создаем настоящую игру «Потони сайт» Что делает каждый элемент в игре DotComBust (и в какой момент) Псевдокод для настоящего класса DotComBust Окончательная версия класса DotCom Супермощные булевы выражения Использование библиотеки (Java API) Как работать с API Упражнения 7. Прекрасная жизнь в Обьектвилле Принципы наследования Использование наследования для предотвращения дублирования кода в дочерних классах Ищем новые возможности, которые дает наследование Проектирование иерархии наследования Отношения IS-A и HAS-A Как узнать, что наследование оформлено правильно Настоящая ценность наследования Перегрузка метода Упражнения 8. Серьезный полиморфизм Абстрактный против Конкретного Абстрактные методы Полиморфизм в действии Класс Object Использование полиморфических ссылок типа Object Интерфейс спешит на помощь! Упражнения 9. Жизнь и смерть объектов Стек и куча: где все хранится Методы размещаются в стеке Как работают локальные переменные, являющиеся объектами Создание объекта Создаем объект Duck Инициализация состояния нового объекта Duck Роль конструкторов родительского класса в жизни объекта Как вызвать конструктор родительского класса Конструкторы родительских классов с аргументами Вызов одного перегруженного конструктора из другого Сколько живет объект Упражнения 10. Числа имеют значение Математические методы - наиболее близкие к глобальным Разница между обычными (не статическими) и статическими методами Что значит иметь класс со статическими методами Инициализация статической переменной Автоматическая упаковка: стираем границы между примитивом и объектом Форматирование чисел Спецификатор форматирования Работа с датами Работа с объектами Calendar Основные методы класса Calendar Статический импорт Упражнения 11. Опасное поведение Что происходит, если вы вызываете опасный метод Методы в Java используют исключения, чтобы сообщить вызывающему коду: "Случилось нечто плохое. Я потерпел неудачу». Исключение - объект типа Exception Управление программным потоком в блоках try/catch Finally: для действий, которые нужно выполнить несмотря ни на что Исключения поддерживают полиморфизм Кухня кода Приложение для проигрывания звуков Создание MIDI-событий (данных о композиции) MIDI-сообщение: сердце Midi Event Как изменить сообщение Упражнения 12. Очень графическая история Ваш первый графический интерфейс: кнопка во фрейме Пользовательское событие Слушатели, источники и события Вернемся к графике… Личный виджет для рисования Что интересного можно сделать в paintComponentO За каждой хорошей графической ссылкой стоит объект Graphics2D Компоновка графических элементов: помешаем несколько виджетов во фрейм Попробуем сделать это с двумя кнопками Как создать экземпляр внутреннего класса Используем внутренний класс для анимации Кухня кода Легкий способ создания сообщений/событий Упражнения 13. Улучшай свои навыки Компоненты Swing Диспетчеры компоновки Как диспетчер компоновки принимает решения Три главных диспетчера компоновки: border, flow и box Играем со Swing-компонентами Кухня кода Упражнения 14. Сохранение объектов Сохранение состояния Запись сериал изованного объекта в файл Что на самом деле происходит с объектом при сериализаиии Десериализаиия: восстановление объекта Сохранение и восстановление игровых персонажей Запись строки в текстовый файл Пример текстового файла: электронные флеш-карты Quiz Card Builder: структура кода Класс Java.io.File Чтение из текстового файла Quiz Card Player: структура кода Разбор текста с помощью метода split() из класса String Использование serialVersionUID Кухня кода Сохранение схемы Beat Box Восстановление схемы BeatBox Упражнения 15. Устанавливаем соединение Чат в BeatBox в режиме реального времени Подключение, отправка и прием Устанавливаем сетевое соединение с помощью сокета Buffered Reader для считывания данных из сокета Print Writer для записи данных в сокет Daily AdviceClient Код программы Daily AdviceClient Создание простого сервера Код приложения DailyAdviceServer Создание чат-клиента Несколько стеков вызовов Планировщик потоков Приостановление потока Метод sleep() Создание pi запуск двух потоков Использование блокировки объектов Новая улучшенная версия SimpleChatClient Очень-очень простой чат-сервер Упражнения 16. Структуры данных Коллекции Сортировка Array List методом Collections.sort() Обобщения и безопасность типов Коллекция API - List (Список), Set (Множество) и Map (Отображение, или Ассоциативный массив) Переопределение hashCodeO и equalsQ Использование полиморфических аргументов и обобщений Упражнения 17. Выпусти свой код Варианты развертывания Отделение исходных файлов от скомпилированных Помешаем программу в JAR-архив Помешаем классы в пакеты Предотвращение конфликтов при именовании пакетов Компилируем и запускаем, используя пакеты Флаг-d Создание исполняемых Java-архивов с пакетами внутри Java Web Start JNLP-файл Упражнения 18. Распределенные вычисления Технология RMI Создание удаленного сервиса Сервлеты Enterprise JavaBcans Немного о Jini Создаем обозреватель универсальных сервисов Приложение А. Итоговая кухня кода Итоговый вариант клиентской программы BeatBox Итоговый вариант серверной части программы BeatBox Приложение Б. Десять самых важных тем, которым не хватило самой малости, чтобы попасть в основную часть книги… Топ-десять Указатель