Выбор ответа Middle ООП и класс Object обновлено

Что можно при переопределении

Вопрос

Что разрешено при переопределении метода protected Number value() throws IOException?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Вернуть Integer и сделать метод public. Переопределение может сузить возвращаемый тип (ковариантность: Integer наследник Number) и расширить доступ.

Варианты ответа

  1. Сделать метод private в наследнике
  2. Добавить throws Exception вместо IOException
  3. Вернуть Integer и сделать метод publicправильный ответ
  4. Поменять тип параметров при том же имени

Разбор

Переопределение может сузить возвращаемый тип (ковариантность: Integer наследник Number) и расширить доступ. Сузить доступ до private нельзя. Бросать можно только те же или более узкие checked-исключения, Exception шире IOException. Другие параметры дают перегрузку, а не переопределение.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.