2015-01-10 2 views
0

Я смущен. Являются ли следующие два утверждения точными?Захват суперкласса Java и подкласс catch

  1. Объект класса не знает или не имеет доступа к любому из его подклассов.

  2. По теме обработки исключений, надклассный улов поймает все его подклассы.

Я думаю, что есть какая-то логика, которую я не вижу. В 1 суперкласс не знает подкласса, тогда как в 2 суперкласс имеет, имеет знания о подклассе. Любые разъяснения по этому вопросу будут оценены.

ответ

0

сам супер класс не имеет знаний о его подклассов, но имеет JVM, что знание и JVM делает работу для обработки исключений, полиморфизм и т.д.

0

Оба утверждения являются истинными. Когда выполняется «catch», он получает конкретный экземпляр исключения. Он может посмотреть на суперклассы этого экземпляра и проверить, соответствует ли какой-либо из этих суперклассов классу, указанному в предложении catch. Нет необходимости проверять все возможные подклассы класса, указанные в предложении catch, поэтому утверждение 1 имеет значение true.

0

Да, это правильно.

  1. Объект класса не знает или не имеет доступа к любому из его подклассов.

    Объект является родительским классом. Считайте его похожим на родителей в реальном мире, которые заранее не знают, сколько детей у них будет иметь и какие дополнительные функции они будут иметь или что они собираются делать, кроме того, что у меня уже есть, то же самое с Класс объекта, то есть equals/hashCode/wait/notify и т. Д. Таким образом, он безопасно предполагает, что мои дочерние элементы переопределили бы say equals, если бы не был класс Object для обработки всех этих существующих функций.

  2. По теме обработки исключений, надклассный улов поймает все его подклассы.

    Да. Снова рассмотрим тот же пример, что и выше. Люди говорят: «Как ты?» Люди тоже знают вас и могут приветствовать вас, как «Привет pqr», и люди знают вас и с вашим родителем. Подобная концепция здесь. Если он видит точное совпадение в блоке catch, то он собирается выполнить тот же блок, иначе он будет иметь его родительский блок catch.

Смежные вопросы