Неважно, кто вы — разработчик ПО или пользователь, в любом случае вы слышали о языке Java. В этой книге вы на конкретных примерах изучите основы Java, API, библиотеки классов, приемы и идиомы программирования. Особое внимание авторы уделяют построению реальных приложений. Вы освоите средства управления ресурсами и исключениями, а также познакомитесь с новыми возможностями языка, появившимися в последних версиях Java. • Программируйте на Java с использованием компилятора, интерпретатора и других инструментов. • Исследуйте средства управления потоками и параллельной обработки. • Изучайте обработку текста и мощные API. • Создавайте приложения и службы на базе современных сетевых коммуникаций или веб-технологий.
Совокупность всей информации о типах в любой конкретный момент называется состоянием типов стека; именно его Java анализирует перед запуском приложения. Java ничего не знает о фактических значениях, хранящихся в стеке и в переменных; известны только их типы. Однако этой информации достаточно для соблюдения правил безопасности и для уверенности в том, что с объектами не будут выполняться некорректные операции.
Одно дело — создать язык, который мешает вам «выстрелить себе в ногу», и совсем другое — создать язык, который помешает кому-то другому «выстрелить вам в ногу».
Типы интерфейсов очень похожи на типы классов. Вы можете объявить переменную с типом интерфейса; вы можете объявить аргументы методов с типами интерфейсов; вы можете указать, что возвращаемый тип метода является типом интерфейса