в этой лекции были рассмотрены правила работы с типами данных в строго типизированном языке Java. Поскольку компилятор строго отслеживает тип каждой переменной и каждого выражения, в случае изменения этого типа необходимо четко понимать, какие действия допустимы, а какие нет, с точки зрения компилятора и виртуальной машины.
Были рассмотрены все виды приведения типов в Java, то есть переход (УГОДНОГО типа к другому. Они разбиваются на 7 групп, начиная с тождественного и заканчивая запрещенными. Основные 4 вида определяются сужающими или расширяющими переходами между простыми или ссылочными типами. Важно помнить, что при явном сужении числовых типов старшие биты просто отбрасываются, что порой приводит к неожиданному результату. Что касается преобразования ссылочных значений, то здесь Действует правило — преобразование никогда не порождает новых и не исцеляет существующих объектов. Меняется лишь способ работы с ними. 7 Особенным в Java является преобразование к строке.
Затем были рассмотрены все ситуации в программе, где могут происходить преобразования типов. Прежде всего, это присвоение значений, Когда преобразование зачастую происходит незаметно для программиста, вызов метода во многом похож на инициализацию. Явное приведение позволяет осуществить желаемый переход в том случае, когда компилятор ей позволяет сделать это неявно. Преобразование при выполнении числовых операций оказывает существенное влияние на результат.
В заключение была рассмотрена связь между типом переменной и типом ее значения.
Вопросы для самоконтроля:
Виды приведений
Тождественное преобразование
Преобразование примитивных типов (расширение и сужение)
Преобразование ссылочных типов (расширение и сужение)
Преобразование к строке
Запрещенные преобразования
Применение приведений
Присвоение значений
Вызов метода
Явное приведение
Оператор конкатенации строк
Числовое расширение
Унарное числовое расширение
Бинарное числовое расширение
Тип переменной и тип ее значения
Рекомендуемая литература:
И.Ю.Баженова Язык программирования Java.- АО "Диалог-МИФИ", 1997
Джон Родли Создание Java-апплетов.- The Coriolis Group,Inc.,1996, Издательство НИПФ "ДиаСофт Лтд.",1996
Майкл Томас, Пратик Пател, Алан Хадсон, Доналд Болл(мл.) Секреты программирования для Internet на Java.- Ventana Press, Ventana Communications Group, U.S.A.,1996, Издательство"Питер Пресс", 1997
Аарон И.Волш Основы программирования на Java для World Wide Web.- IDG Books Worldwide,Inc.,1996, Издательство "Диалектика",1996
Кен Арнольд, Джеймс Гослинг Язык программирования Java.- Addison-Wesley Longman,U.S.A.,1996, Издательство "Питер-Пресс", 1997
Нейл Бартлетт, Алекс Лесли, Стив Симкин Программирование на Java. Путеводитель.- The Coriolis Group,Inc.,1996, Издательство НИПФ "ДиаСофт Лтд.",1996
Крис Джамса Библиотека программиста Java.- Jamsa Press, 1996, ООО "Попурри", 1996