русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Использование instanceof


Дата добавления: 2015-06-12; просмотров: 576; Нарушение авторских прав


Иногда полезно распознавать тип объекта во время выполнения. Например, можно иметь один поток выполнения для генерации различных типов объектов, а другой — для их обработки. В этой ситуации обрабатывающему процессу полезно было бы знать тип каждого объекта, принимаемого на обработку. Другая ситуация, в которой знание типа объекта во время выполнения очень важно, — это приведение типов (cast). В Java недопустимое приведение вызывает ошибку времени выполнения. Много недопустимых приведений можно перехватить во время компиляции. Однако операции приведения, связанные с типами объектов (т. е. с иерархиями классов), могут оказаться недопустимыми и могут быть обнаружены только во время выполнения. Например, суперкласс с именем А может иметь два подкласса: B и C. Приведение объектов B или C к типу А — законно, а приведение B-объекта к типу C (или, наоборот, C-объекта к типу B) — нет. Поскольку объект типа А может ссылаться как на объект B, так и на объект C, то каким образом вы можете определить (во время выполнения), на объект какого типа фактически ссылается А-объект перед попыткой приведения его типа к C? Это может быть объект любого типа — А, B или C. Если это — объект типа B, будет выброшено исключение (времени выполнения). Для ответа на этот вопрос Java использует специальную операцию — instanceof. Операция instanceof имеет следующую общую форму:

object instanceof type

где object— экземпляр класса; typeкласс (как тип). Если object-операнд имеет тип или его тип может быть приведен к типу, указанный в type-операнде, то результат операции instanceof имеет значение true. Иначе, ее результат — false. Таким образом, instanceof — это средство, с помощью которого программа может получить информацию о типе объекта во время выполнения. Следующая программа демонстрирует операцию instanceof:



<== предыдущая лекция | следующая лекция ==>
Модификаторы transient и volatile | Программа 80. Проверка соответствия типов


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.194 сек.