Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
билеты по java (нет 16 и 23) .doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
111.62 Кб
Скачать
  1. Обработка исключительных ситуаций

В языке Java исключения (Exceptions) являются объектами, и механизм исключений используемый в нем упрощает обработку ошибок. Вместо того чтобы проверять значение, возвращаемое функциями и методами, вы можете использовать для обнаружения и обработки ошибок структурные операторы, такие как try и catch.

Методы стандартных библиотек классов Java возбуждают исключения при возникновении ошибочных ситуаций. Заключив "ненадежный" с точки зрения возникновения ошибок код в блок try, вы можете перехватить и обработать исключения в блоке catch.

Заметим, что исключения возникают и в таких распространенных ситуациях, как выход за пределы массива или строки в процессе индексации, деление на нуль, попытка использования ссылки со значением null, недопустимое преобразование классов и так далее. С помощью исключений все подобные ошибки нетрудно обнаружить и обработать во время выполнения приложения.

  1. Вложенные классы

Судя по названию, вложенный класс в языке Java является классом, объявленным внутри другого класса.

При создании статического класса внутри другого класса вы создаете класс, для которого подходит название вложенный класс. Вложенный класс определяется внутри другого класса, но может существовать вне экземпляра окружающего класса. При создании не статического вложенного класса он может существовать только внутри экземпляра окружающего класса, и для него более подходит название внутренний класс. Другими словами, все внутренние классы являются вложенными классами, но не все вложенные классы являются внутренними классами. Подавляющее большинство вложенных классов, с которыми вы столкнетесь в вашей карьере, будут внутренними классами.

Любой вложенный класс имеет доступ ко всем членам окружающего его класса, даже если они объявлены со спецификатором доступа private.

Анонимные внутренние классы позволяют вам определить неименованный класс тут же, по ходу программы для обеспечения некоторого контекстно-зависимого поведения. Это обычный подход для обработчиков событий в пользовательских интерфейсах, рассмотрение которого выходит за рамки данного руководства. Но мы можем использовать анонимный внутренний класс даже в нашем упрощенном примере обработки событий.

Используются вложенные классы в тех случаях, когда не имеет большого смысла определять класс вне окружающего класса. Анонимные внутренние классы являются стандартным подходом для реализации обработчиков событий. Если анонимные внутренние классы не являются маленькими, сосредоточенными в одном месте и знакомыми, они могут запутать чтение кода. Они также могут затруднить отладку, хотя Eclipse IDE помогает минимизировать этот недостаток.