Java 8 шилдт руководство для начинающих: Java 8. Руководство для начинающих. Герберт Шилдт
руководство для начинающих Герберт Шилдт
Java 8руководство для начинающих
Настоящее, 6-е издание бестселлера Герберта Шилдта Java 8: руководство для начинающих, обновленное с учетом всех новинок последнего выпуска Java Platform, Standard Edition 8 (Java SE 8), позволит новичкам сразу же приступить к программированию на языке Java. Герберт Шилдт, всемирно известный автор множества книг по программированию, уже в начале книги знакомит читателей с тем, как создаются, компилируются и выполняются программы, написанные на языке Java. Далее объясняются ключевые слова, синтаксис и языковые конструкции, образующие ядро Java. Кроме того, в книге Java 8: руководство для начинающих рассмотрены темы повышенной сложности:
многопоточное программирование,
обобщенные типы,
средства библиотеки Swing.
Не остались без внимания автора и такие новейшие возможности Java SE 8, как лямбда-выражения и методы интерфейсов, используемые по умолчанию. В заключение автор знакомит читателей с JavaFX — новой переспективной технологией создания современных графических интерфейсов пользователя, отличающихся изящным внешним видом и богатым набором элементов управления.
В книге используются следующие специальные рубрики, способствующие усвоению и закреплению прочитанного материала.
Ключевые навыки и понятия. Каждая глава открывается списком конкретных вопросов, которые рассматриваются в данной главе.
Спросим у эксперта. В этих разделах предлагается дополнительная информация и даются полезные советы.
Упражнения. Примеры несложных программ, процесс создания которых позволит вам закреплять на практике приобретенные знания и навыки.
Вопросы и упражнения для самопроверки. Завершающие разделы глав, с помощью которых вы сможете самостоятельно проверить, насколько хорошо вами усвоен материал.
Аннотирование текстов программ. Примеры кода включают авторские комментарии, описывающие назначение отдельных участков кода программы.
Java 8 руководство
Глава 1. Основы Java
Истоки Java
Взаимосвязь между Java и языками С и С++
Взаимосвязь между Java и языком С#
Вклад Java в развитие Интернета
Jаvа-аплеты
Безопасность
Переносимость
Волшебный байт-код Java
Основные характеристики Java
Объектно-ориентированное программирование
Инкапсуляция
Полиморфизм
Наследование
Установка комплекта Java Development Кit
Первая программа на Java
Ввод исходного кода программ
Компиляция программы
Построчный анализ исходного кода первого примера программы
Обработка синтаксических ошибок
Еще одна простая программа
Другие типы данных
Два управляющих оператора
Оператор if
Цикл for
Создание блоков кода
Использование точки с запятой в коде программы
Стилевое оформление текста программ с помощью отступов
Ключевые слова Java
Идентификаторы в Java
Библиотеки классов Java
Глава 2. Введение в типы данных и операции над ними
Особая важность типов данных
Элементарные типы данных Java
Целочисленные типы данных
Типы данных с плавающей точкой
Символы
Логический тип данных
Литералы
Шестнадцатеричные, восьмеричные и двоичные литералы
Управляющие последовательности символов
Строковые литералы
Подробнее о переменных
Инициализация переменных
Динамическая инициализация
Область действия и время жизни переменных
Операции
Арифметические операции
Операции инкремента и декремента
Операции сравнения и логические операции
Укороченные логические операции
Операция присваивания
Составные операции присваивания
Преобразование типов при присваивании
Приведение несовместимых типов
Приоритеты операций
Выражения
Преобразование типов в выражениях
Пробелы и круглые скобки
Глава 3. Управляющие операторы
Ввод символов с клавиатуры
Условный оператор if
Вложенные условные операторы if
Многоступенчатая конструкция if-else-if
Оператор swi tch
Вложенные операторы switch
Цикл for
Некоторые разновидности цикла for
Пропуск отдельных частей в определении цикла for
Бесконечный цикл
Циклы без тела
Объявление управляющих переменных в цикле for
Расширенный цикл for
Цикл while
Цикл do-while
Применение оператора break для выхода из цикла
Оператор break в роли оператора goto
Применение оператора continue
Вложенные циклы
Глава 4. Введение в классы, объекты и методы
Основные сведения о классах
Общая форма определения класса
Определение класса
Порядок создания объектов
Переменные ссылочного типа и присваивание
Методы
Добавление метода в класс Vehicle
Возврат из метода
Возврат значения
Использование параметров
Добавление параметризированного метода в класс Vehicle
Конструкторы
Параметризированные конструкторы
Добавление конструктора в класс Vehicle
Еще раз об операторе new
Сборка мусора и методы завершения
Метод finalize ()
Ключевое слово this
Глава 5. Дополнительные сведения о типах данных и операциях
Массивы
Одномерные массивы
Многомерные массивы
Двумерные массивы
Нерегулярные массивы
Трехмерные, четырехмерные и многомерные массивы
Инициализация многомерных массивов
Аnьтернативный синтаксис объявления массивов
Присваивание ссылок на массивы
Применение переменной экземпляра length
Разновидность for-each цикла for
Циклическое обращение к элементам многомерных массивов
Использование расширенного цикла for
Символьные строки
Создание строк
Операции над символьными строками
Массивы строк
Неизменяемость строк
Использование строк для управления оператором switch
Использование аргументов командной строки
Поразрядные операции
Поразрядные операции И, ИЛИ, исключающее ИЛИ и НЕ
Операции сдвига
Поразрядные составные операции присваивания
Оператор?
Глава 6. Дополнительные сведения о методах и классах
Управление доступом к членам класса
Модификаторы доступа в Java
Передача объектов методам
Способы передачи аргументов методу
Возврат объектов
Перегрузка методов
Перегрузка конструкторов
Рекурсия
Применение ключевого слова static
Статические блоки
Вложенные и внутренние классы
Переменное число аргументов
Использование методов с переменным числом аргументов
Перегрузка методов с переменным числом аргументов
Переменное число аргументов и неопределенность
Глава 7. Наследование
Основы наследования
Наследование и доступ к членам класса
Конструкторы и наследование
Использование ключевого слова super для вызова конструктора суперкласса
Применение ключевого слова super для доступа к членам суперкласса
Создание многоуровневой иерархии классов
Очередность вызова конструкторов
Ссылки на суперкласс и объекты подклассов
Переопределение методов
Поддержка полиморфизма в переопределяемых методах
Для чего нужны переопределенные методы
Демонстрация механизма переопределения методов на примере класса TwoDShape
Использование абстрактных классов
Использование ключевого слова final
Предотвращение переопределения методов
Предотвращение наследования
Применение ключевого слова final к переменным экземrmяра
Класс Object
Глава 8. Пакеты и интерфейсы
Пакеты 290
Определение пакета 291
Поиск пакета и переменная среды CLASSPATH
Простой пример применения пакета
Пакеты и доступ к членам классов
Пример доступа к пакету
Защищенные члены классов
Импорт пакетов
Библиотечные классы Java, содержащиеся в пакетах
Интерфейсы
Реализация интерфейсов
Применение интерфейсных ссьшок
Переменные в интерфейсах
Наследование интерфейсов
Методы интерфейсов, используемые по умолчанию
Основные сведения о методах по умолчанию
Практический пример использования метода по умолчанию
Множественное наследование
Использование статических методов интерфейса
Последнние замечания относительно пакетов и интерфейсов
Глава 9. Обработка исключений
Иерархия исключений
Общее представление об обработке исключений
Использование ключевых слов try и catch
Простой пример обработки исключений
Необработанные исключений
Обработка исключений — изящный способ устранения программных ошибок
Множественные операторы catch
Перехват исключений, генерируемых подклассами
Вложенные блоки try
Генерирование исключений
Повторное генерирование исключений
Подробнее о классе ThrowaЫe
Использование ключевого слова finally
Использование ключевого слова throws
Новые средства обработки исключений, появившиеся в версии JDK 7
Встроенные классы исключений Java
Создание подклассов, производных от класса Exception
Глава 10. Ввод-вывод данных
Потоковая организация системы ввода-вывода Java
Байтовые и символьные потоки
Классы байтовых потоков
Классы символьных потоков
Встроенные потоки
Использование байтовых потоков
Консольный ввод
Запись консольного вывода
Чтение и запись файлов
с использованием байтовых потоков
Ввод данных из файла
Запись в файл
Автоматическое закрытие файлов
Чтение и запись двоичных данных
Файлы с произвольным доступом
Использование символьных потоков Java
Консольный ввод с использованием символьных потоков
Консольный вывод с использованием символьных потоков
Файловый ввод-вывод с использованием символьных потоков
Класс FileWri ter
Использование класса FileReader
Использование классов-оболочек для преобразования числовых строк
Глава 11. Мноrопоточное проrраммирование
Общее представление о мноrопоточной обработке
Класс Thread и интерфейс RunnaЫe
Создание потока
Несложные усовершенствования мноrопоточной программы
Создание нескольких потоков
Определение момента завершения потока
Приоритеты потоков
Синхронизация
Использование синхронизированных методов
Синхронизированные блоки
Организация взаимодействия потоков с помощью методов notify (), wait() иnotifyAll()
Пример применения методов wait () и notify ()
Приостановка, возобновление и остановка потоков
Глава 12. Перечисления, автоупаковка, статический импорт и аннотации
Перечисления
Основные сведения о перечислениях
Перечисления Java являются типами классов
Методы values () и valueOf ()
Конструкторы, методы, переменные экземпляра и перечисления
Два важных ограничения
Перечисления наследуются от класса Enum
Автоупаковка
Оболочки типов
Основные сведения об автоупаковке
Автоупаковка и методы
Автоупаковка и автораспаковка в выражениях
Предупреждение относительно использования автоупаковки и автораспаковки
Статический импорт
Аннотации (метаданные)
Глава 13. Обобщения
Основные сведения об обобщениях
Простой пример обобщений
Обобщения работают только с объектами
Различение обобщений по аргументам типа
Обобщенный класс с двумя параметрами типа
Общая форма обобщенного класса
Ограниченные типы
Использование шаблонов аргументов
Ограниченные шаблоны
Обобщенные методы
Обобщенные конструкторы
Обобщенные интерфейсы
Базовые типы и унаследованный код
Автоматическое определение аргументов типов компилятором
Очистка
Ошибки неоднозначности
Ограничения в отношении использования обобщений
Невозможность создания экземпляров параметров типа
Ограничения статических членов класса
Ограничения обобщенных массивов
Ограничения обобщенных исключений
Дальнейшее изучение обобщений
Глава 14. Лямбда-выражения и ссылки на методы
Введение в лямбда-выражения
Основные сведения о лямбда-выражениях
Функциональные интерфейсы
Применение лямбда-выражений
Блочные лямбда-выражения
Обобщенные функциональные интерфейсы
Лямбда-выражения и захват переменных
Генерация исключений в лямбда-выражениях
Ссылки на методы
Ссылки на статические методы
Ссылки на методы экземпляров
Ссылки на конструкторы
Предопределенные функциональные интерфейсы
Глава 15. Аплеты, события и друrие вопросы
Основные сведения об аплетах
Организация аплета и его основные элементы
Архитектура аплетов
Завершенный каркас аплета
Инициализация и прекращение работы аплета
Запрос на перерисовку окна аплета
Метод update (}
Использование окна состояния
Передача параметров аплету
Класс Applet
Обработка событий
Модель делегирования событий
События
Источники событий
Слушатели событий
Классы событий
Интерфейсы слушателей событий
Применение модели делегирования событий
Обработка событий мыши
Простой пример аплета, демонстрирующий обработку событий от мыши
Другие ключевые слова Java
Модификаторы transient и volatile
Оператор instanceof
Модификатор strictfp
Ключевое слово assert
Машинно-зависимые методы
Глава 16. Введение в Swing
Происхождение и философия Swing
Компоненты и контейнеры
Компоненты
Контейнеры
Панели контейнеров верхнего уровня
Менеджеры компоновки
Первая простая Swing-пporpaммa
Построчный анализ первой Swing-пporpaммы
Использование компонента JButton
Работа с компонентом JТextField
Создание флажков с помощью компонента JCheckBox
Класс Jlist
Применение анонимных внутренних классов для обработки событий
Создание аплета средствами Swing
Глава 17. Введение в JavaFX
Базовые понятия JavaFX
Пакеты JavaFX
Классы Stage и Scene
Узлы и графы сцены
Панели компоновки
Класс Application и жизненный цикл приложения
Запуск приложения JavaFX
Каркас приложения JavaFX
Компиляция и выполнение программы JavaFX
Поток выполнения приложения
Простой элемент управления JavaFX: компонент Label
Использование кнопок и событий
Основные сведения о событиях
Элемент управления Button
Демонстрация обработки событий кнопки
Три других элемента управления JavaFX
Компонент CheckBox
Компонент ListView
Компонент TextField
Введение в эффекты и преобразования
Эффекты
Преобразования
Демонстрация эффектов и преобразований
Что дальше
Приложение А. Ответы на вопросы и решения упражнений для самопроверки
Глава l. Основы Java
Глава 2. Введение в типы данных и операции над ними
Глава 3. Управляющие операторы
Глава 4. Введение в классы, объекты и методы
Глава 5. Дополнительные сведения о типах данных и операциях
Глава 6. Дополнительные сведения о методах и классах
Глава 7. Наследование
Глава 8. Пакеты и интерфейсы
Глава 9. Обработка исключений
Глава 10. Ввод-вывод данных
Глава l l. Многопоточное программирование
Глава 12. Перечисления, автоупаковка, статический импорт и аннотации
Глава 13. Обобщения
Глава 14. Лямбда-выражения и ссылки на методы
Глава 15. Аплеты, события и другие вопросы
Глава 16. Введение в Swing
Глава 17. Введение в JavaFX
Приложение Б. Применение документирующих комментариев в Java
Дескрипторы javadoc
Дескриптор @author
Дескриптор {@code}
Дескриптор @deprecated
Дескриптор { @docRoot}
Дескриптор @exception
Дескриптор {@inheritDoc}
Дескриптор {@link}
Дескриптор {@linkplain}
Дескриптор {@literal}
Дескриптор @param
Дескриптор @return
Дескриптор @see
Дескриптор @serial
Дескриптор @serialData
Дескриптор @serialField
Дескриптор @since
Дескриптор @throws
Дескриптор @value
Дескриптор @version
Общая форма документирующих комментариев
Результат, выводимый утилитой javadoc
Пример применения документирующих комментариев
Предметный указатель
Читать онлайн «Java: руководство для начинающих (ЛП)» автора Шилдт Герберт — RuLit
Table of Contents
Introduction
Введение
Основы Java
Введение в типы данных и операторы
Управляющие операторы
Введение в классы, объекты и методы
Дополнительные сведения о типах данных и операторах
Дополнительные сведения о методах и классах
Наследование
Пакеты и интерфейсы
Обработка исключений
Ввод-вывод данных
Многопоточное программирование
Перечисления, автоупаковка, статический импорт и аннотации
Обобщения
Апплеты, события и прочее
Введение в Swing
Приложение A. Ответы на вопросы дня самопроверки
Приложение B. Применение документирующих комментариев в Java
Java: руководство для начинающих
Герберт Шилдт
Введение
Основы Java
Введение в типы данных и операторы
Управляющие операторы
Введение в классы, объекты и методы
Дополнительные сведения о типах данных и операторах
Дополнительные сведения о методах и классах
Наследование
Пакеты и интерфейсы
Обработка исключений
Ввод-вывод данных
Многопоточное программирование
Перечисления, автоупаковка, статический импорт и аннотации
Обобщения
Апплеты, события и прочее
Введение в Swing
Приложение A. Ответы на вопросы дня самопроверки
Приложение B. Применение документирующих комментариев в Java
Введение
Java считается одним из самых значительных и широко распространенных языков программирования, поскольку ему принадлежит исключительная роль в разработке приложений для Интернета. Для того чтобы профессионально заниматься разработкой веб-приложений, нужно досконально знать Java. Поэтому, если хотите связать свое будущее с программированием веб-приложений, вам нужно выбрать подходящий для этого язык и как следует изучить его. Кроме того, Java принадлежит ведущая роль в программировании смартфонов на платформе Android. Проще говоря, программирование на Java составляет основу большей части современной вычислительной техники.
Цель этой книги — обучить вас, читатель, основам программирования на языке Java. В ней применяется поэтапный подход к освоению языковых средств на многочисленных примерах, упражнениях на самопроверку и несложных проектах. Для изучения Java по этой книге не обязательно иметь какой-то опыт программирования. Книга начинается с самых основных понятий, включая компилирование и выполнение программ на Java. Затем речь пойдет о ключевых словах и языковых средствах и конструкциях, составляющих основу Java. После этого рассматриваются более сложные языковые средства Java, в том числе многопоточное программирование и обобщения. И завершается книга введением в библиотеку Swing. Все это позволит вам получить ясное представление об основах программирования на Java.
Но эта книга — лишь первый шаг на пути к освоению Java, поскольку для профессионального программирования на Java нужно знать не только составные элементы этого языка, но и многочисленные библиотеки и инструменты, существенно упрощающие процесс разработки программ. Проработав материал этой книги, вы получите достаточно знаний, чтобы приступить к изучению всех остальных аспектов Java.
Эволюция Java
Немногие языки могут похвастаться тем, что им удалось изменить общее представление о программировании. Но и в этой “элитной” группе один язык выделяется среди прочих. Его влияние очень быстро почувствовали все программисты. Речь, конечно же, идет о Java. Не будет преувеличением сказать, что выпуск в 1995 году компанией Sun Microsystems Inc. версии Java 1.0 вызвал настоящую революцию в программировании. В результате Всемирная паутина стала по-настоящему интерактивной средой. Между тем Java установил новый стандарт в разработке языков программирования.
Со временем Java усовершенствовался. В отличие от многих других языков, в которых новые средства внедрялись относительно медленно, Java всегда находился на переднем крае разработки языков программирования. Одной из причин, позволивших добиться этого, послужило создание вокруг Java плодотворной атмосферы, способствовавшей внедрению новых идей. В результате язык Java постоянно совершенствовался: одни его изменения были незначительными, а другие — весьма существенными.
Первым существенным обновлением Java стала версия 1.1. Изменения в ней были более значительны, чем это обычно подразумевает переход к новой версии языка программирования. В версии Java 1.1 были добавлены многие библиотечные элементы, переопределены средства обработки событий, перекомпонованы многие функциональныесредства исходной библиотеки версии 1.0.
Следующим этапом развития данного языка стала платформа Java 2, где цифра 2 обозначает “второе поколение”. Ее создание стало поворотным событием, ознаменовавшим начало “новой эпохи” Java. Первым выпуском Java 2 стала версия 1.2. На первый взгляд, несоответствие номеров в обозначениях Java 2 и версии 1.2 может показаться странным. Дело в том, что номером 1.2 сначала обозначались библиотеки Java и только затем весь выпуск. Компания Sun перекомпоновала программный продукт Java в J2SE (Java 2 Platform Standard Edition — Стандартная версия платформы Java 2), и с тех пор номера версии стали относиться именно к этому продукту.
Затем появилась версия J2SE 1.3, в которую были внесены первые значительные изменения по сравнению с первоначальным выпуском Java 2. Новые функциональные средства были в основном добавлены к уже существующим и более тесно связаны со средой разработки. Версия J2SE 1.4 стала очередным этапом в развитии Java. Она содержала новые важные средства, в том числе цепочки исключений, канальный ввод-вывод и ключевое слово assert.
Следующая версия J2SE 5, по сути, стала вторым революционным преобразованием Java. В отличие от большинства предыдущих модернизаций, которые сводились к важным, но предсказуемым усовершенствованиям, в J2SE 5 были существенно расширены рамки применения и функциональные возможности языка, а также повышена его производительность. Для более ясного представления о масштабах изменений, внесенных в версии J2SE 5, ниже приводится перечень новых средств, которые рассматриваются в этой книге.
Обобщения
Автоупаковка и автораспаковка
Перечисления
Усовершенствованный вариант for-each цила for
Аргументы переменной длины
Статический импорт
Аннотации
В этот список не вошли несущественные дополнения или поэтапные изменения, характерные для перехода к новой версии. Каждый элемент этого списка представляет собой существенное дополнение Java. Для поддержки одних нововведений, в том числе обобщений, варианта for-each цикла for и аргументов переменной длины, пришлось ввести новые синтаксические конструкции в язык. А другие нововведения, например автоупаковка и автораспаковка, повлияли на семантику языка. И наконец, аннотации открыли совершенно новые возможности для программирования.
Особое значение новых языковых средств проявилось в том, что новая версия получила номер 5. Логично предположить, что номером очередной версии Java должен бы стать 1.5. Но нововведения оказались настолько значительными, что переход от версии 1.4 к 1.5 не отражал масштабы внесенных изменений. Поэтому разработчики из компании Sun решили увеличить номер версии до 5, подчеркнув тем самым важность нововведений. В итоге новая версия получила название J2SE 5, а комплект инструментaльныx средств разработчиков стал называться JDK 5. Но ради согласованности с предыдущими версиями было решено использовать 1.5 в качестве внутреннего номера версии, на который можно ссылаться как на номер версии, используемый при разработке. Номер 5 в J2SE 5 означает номер версии данного программного продукта.
Читать Java: руководство для начинающих (ЛП) — Шилдт Герберт — Страница 1
Table of Contents
Introduction
Введение
Основы Java
Введение в типы данных и операторы
Управляющие операторы
Введение в классы, объекты и методы
Дополнительные сведения о типах данных и операторах
Дополнительные сведения о методах и классах
Наследование
Пакеты и интерфейсы
Обработка исключений
Ввод-вывод данных
Многопоточное программирование
Перечисления, автоупаковка, статический импорт и аннотации
Обобщения
Апплеты, события и прочее
Введение в Swing
Приложение A. Ответы на вопросы дня самопроверки
Приложение B. Применение документирующих комментариев в Java
Java: руководство для начинающих
Герберт Шилдт
Введение
Основы Java
Введение в типы данных и операторы
Управляющие операторы
Введение в классы, объекты и методы
Дополнительные сведения о типах данных и операторах
Дополнительные сведения о методах и классах
Наследование
Пакеты и интерфейсы
Обработка исключений
Ввод-вывод данных
Многопоточное программирование
Перечисления, автоупаковка, статический импорт и аннотации
Обобщения
Апплеты, события и прочее
Введение в Swing
Приложение A. Ответы на вопросы дня самопроверки
Приложение B. Применение документирующих комментариев в Java
Введение
Java считается одним из самых значительных и широко распространенных языков программирования, поскольку ему принадлежит исключительная роль в разработке приложений для Интернета. Для того чтобы профессионально заниматься разработкой веб-приложений, нужно досконально знать Java. Поэтому, если хотите связать свое будущее с программированием веб-приложений, вам нужно выбрать подходящий для этого язык и как следует изучить его. Кроме того, Java принадлежит ведущая роль в программировании смартфонов на платформе Android. Проще говоря, программирование на Java составляет основу большей части современной вычислительной техники.
Цель этой книги — обучить вас, читатель, основам программирования на языке Java. В ней применяется поэтапный подход к освоению языковых средств на многочисленных примерах, упражнениях на самопроверку и несложных проектах. Для изучения Java по этой книге не обязательно иметь какой-то опыт программирования. Книга начинается с самых основных понятий, включая компилирование и выполнение программ на Java. Затем речь пойдет о ключевых словах и языковых средствах и конструкциях, составляющих основу Java. После этого рассматриваются более сложные языковые средства Java, в том числе многопоточное программирование и обобщения. И завершается книга введением в библиотеку Swing. Все это позволит вам получить ясное представление об основах программирования на Java.
Но эта книга — лишь первый шаг на пути к освоению Java, поскольку для профессионального программирования на Java нужно знать не только составные элементы этого языка, но и многочисленные библиотеки и инструменты, существенно упрощающие процесс разработки программ. Проработав материал этой книги, вы получите достаточно знаний, чтобы приступить к изучению всех остальных аспектов Java.Эволюция Java
Немногие языки могут похвастаться тем, что им удалось изменить общее представление о программировании. Но и в этой “элитной” группе один язык выделяется среди прочих. Его влияние очень быстро почувствовали все программисты. Речь, конечно же, идет о Java. Не будет преувеличением сказать, что выпуск в 1995 году компанией Sun Microsystems Inc. версии Java 1.0 вызвал настоящую революцию в программировании. В результате Всемирная паутина стала по-настоящему интерактивной средой. Между тем Java установил новый стандарт в разработке языков программирования.
Со временем Java усовершенствовался. В отличие от многих других языков, в которых новые средства внедрялись относительно медленно, Java всегда находился на переднем крае разработки языков программирования. Одной из причин, позволивших добиться этого, послужило создание вокруг Java плодотворной атмосферы, способствовавшей внедрению новых идей. В результате язык Java постоянно совершенствовался: одни его изменения были незначительными, а другие — весьма существенными.
Первым существенным обновлением Java стала версия 1.1. Изменения в ней были более значительны, чем это обычно подразумевает переход к новой версии языка программирования. В версии Java 1.1 были добавлены многие библиотечные элементы, переопределены средства обработки событий, перекомпонованы многие функциональныесредства исходной библиотеки версии 1.0.
Следующим этапом развития данного языка стала платформа Java 2, где цифра 2 обозначает “второе поколение”. Ее создание стало поворотным событием, ознаменовавшим начало “новой эпохи” Java. Первым выпуском Java 2 стала версия 1.2. На первый взгляд, несоответствие номеров в обозначениях Java 2 и версии 1.2 может показаться странным. Дело в том, что номером 1.2 сначала обозначались библиотеки Java и только затем весь выпуск. Компания Sun перекомпоновала программный продукт Java в J2SE (Java 2 Platform Standard Edition — Стандартная версия платформы Java 2), и с тех пор номера версии стали относиться именно к этому продукту.
Затем появилась версия J2SE 1.3, в которую были внесены первые значительные изменения по сравнению с первоначальным выпуском Java 2. Новые функциональные средства были в основном добавлены к уже существующим и более тесно связаны со средой разработки. Версия J2SE 1.4 стала очередным этапом в развитии Java. Она содержала новые важные средства, в том числе цепочки исключений, канальный ввод-вывод и ключевое слово assert.
Следующая версия J2SE 5, по сути, стала вторым революционным преобразованием Java. В отличие от большинства предыдущих модернизаций, которые сводились к важным, но предсказуемым усовершенствованиям, в J2SE 5 были существенно расширены рамки применения и функциональные возможности языка, а также повышена его производительность. Для более ясного представления о масштабах изменений, внесенных в версии J2SE 5, ниже приводится перечень новых средств, которые рассматриваются в этой книге.
Обобщения
Автоупаковка и автораспаковка
Перечисления
Усовершенствованный вариант for-each цила for
Аргументы переменной длины
Статический импорт
Аннотации
В этот список не вошли несущественные дополнения или поэтапные изменения, характерные для перехода к новой версии. Каждый элемент этого списка представляет собой существенное дополнение Java. Для поддержки одних нововведений, в том числе обобщений, варианта for-each цикла for и аргументов переменной длины, пришлось ввести новые синтаксические конструкции в язык. А другие нововведения, например автоупаковка и автораспаковка, повлияли на семантику языка. И наконец, аннотации открыли совершенно новые возможности для программирования.
Особое значение новых языковых средств проявилось в том, что новая версия получила номер 5. Логично предположить, что номером очередной версии Java должен бы стать 1.5. Но нововведения оказались настолько значительными, что переход от версии 1.4 к 1.5 не отражал масштабы внесенных изменений. Поэтому разработчики из компании Sun решили увеличить номер версии до 5, подчеркнув тем самым важность нововведений. В итоге новая версия получила название J2SE 5, а комплект инструментaльныx средств разработчиков стал называться JDK 5. Но ради согласованности с предыдущими версиями было решено использовать 1.5 в качестве внутреннего номера версии, на который можно ссылаться как на номер версии, используемый при разработке. Номер 5 в J2SE 5 означает номер версии данного программного продукта.
Следующая версия Java называется J2SE 6. Это означает, что в компании Sun вновь решили изменить название платформы Java. Прежде всего, из названия исчезла цифра 2. Теперь платформа называется Java SE, а официальное имя продукта — Java Platform, Standard Edition 6. Как и в J2SE 5, цифра 6 в Java SE 6 означает номер версии программного продукта. А внутренним номером версии для использования при разработке является 1.6.
«Java 8 Руководство для начинающих» Герберт Шилдт: рецензии и отзывы на книгу | ISBN 978-5-8459-1955-7
Настоящее, 6-е издание бестселлера Герберта Шилдта Java 8: руководство для начинающих, обновленное с учетом всех новинок последнего выпуска Java Platform, Standard Edition 8 (Java SE 8), позволит новичкам сразу же приступить к программированию на языке Java. Герберт Шилдт, всемирно известный автор множества книг по программированию, уже в начале книги знакомит читателей с тем, как создаются, компилируются и выполняются программы, написанные на языке Java. Далее объясняются ключевые слова, синтаксис и языковые конструкции, образующие ядро Java. Кроме того, в книге Java 8: руководство для начинающих рассмотрены темы повышенной сложности:
многопоточное программирование,
обобщенные типы,
средства библиотеки Swing.
Не остались без внимания автора и такие новейшие возможности Java SE 8, как лямбда-выражения и методы интерфейсов, используемые по умолчанию. В заключение автор знакомит читателей с JavaFX — новой переспективной технологией создания современных графических интерфейсов пользователя, отличающихся изящным внешним видом и богатым набором элементов управления.
В книге используются следующие специальные рубрики, способствующие усвоению и закреплению прочитанного материала.
Ключевые навыки и понятия. Каждая глава открывается списком конкретных вопросов, которые рассматриваются в данной главе.
Спросим у эксперта. В этих разделах предлагается дополнительная информация и даются полезные советы.
Упражнения. Примеры несложных программ, процесс создания которых позволит вам закреплять на практике приобретенные знания и навыки.
Вопросы и упражнения для самопроверки. Завершающие разделы глав, с помощью которых вы сможете самостоятельно проверить, насколько хорошо вами усвоен материал.
Аннотирование текстов программ. Примеры кода включают авторские комментарии, описывающие назначение отдельных участков кода программы.
Герберт Шилдт — общепризнанный эксперт в области Java, автор многочисленных бестселлеров, посвященных программированию, с почти тридцатилетним стажем писательской деятельности.
Его книги продаются миллионными тиражами и переведены на многие языки. Из- под его пера вышли такие популярные книги по Java, как Java 8. Полное руководство, 9-е издание, Java: методики программирования Шилдта и SWING: руководство для начинающих. Им также написано множество книг по языкам программирования C, C++ и C#. Герберт Шилдт закончил университет штата Иллинойс и там же получил ученую степень.
6-е издание.
60 . Руководство для начинающих, 6-е издание — ScanLibsЗнакомство с JavaFXКлючевые навыки и концепции
В быстро меняющемся мире вычислений изменения происходят постоянно, а искусство и наука программирования продолжают развиваться и развиваться.Поэтому неудивительно, что в этом процессе также участвовали среды графического интерфейса пользователя Java. Напомним, что исходной структурой графического интерфейса Java была AWT. Вскоре за ним последовал Swing, предложивший гораздо более совершенный подход. Хотя Swing был очень успешным, может быть сложно создать «визуальный блеск», который требуется для многих современных приложений. Более того, концептуальная основа, лежащая в основе дизайна фреймворков GUI, улучшилась. Чтобы лучше справляться с требованиями современного графического интерфейса пользователя и достижениями в дизайне графического интерфейса, потребовался новый подход.Результатом является JavaFX, среда графического интерфейса пользователя Java нового поколения. Эта глава представляет собой введение в эту мощную новую систему. Важно отметить, что разработка JavaFX проходила в два основных этапа. Первоначальный JavaFX был основан на языке сценариев JavaFX Script . Однако поддержка JavaFX Script прекращена. Начиная с выпуска JavaFX 2.0, JavaFX был запрограммирован на самой Java и предоставляет комплексный API. JavaFX входит в состав Java, начиная с версии JDK 7, обновление 4.Последней версией JavaFX является JavaFX 8, которая входит в состав JDK 8. (Номер версии — 8, чтобы соответствовать версии JDK. Таким образом, номера с 3 по 7 были пропущены.) Поскольку на момент написания этой статьи JavaFX 8 представляет последнюю версию JavaFX, это обсуждаемая здесь версия JavaFX. Кроме того, когда используется термин JavaFX , он относится к JavaFX 8. Прежде чем мы начнем, полезно ответить на один вопрос, который естественно возникает в связи с JavaFX: разработан ли JavaFX как замена Swing? По сути, ответ — да. Основные понятия JavaFXПрежде чем вы сможете создать приложение JavaFX, существует . |