Pull to refresh

Comments 6

Как по мне, «271. Какая последняя версия Java?» такой себе вопрос для собеседования. Это ChatGPT такое генерирует, или правда где-то спрашивают?

В вопросах 278 и 370 написаны противоположные ответы на один и тот же вопрос: унаследован ли интерфейс от object

349 . Обязательно ли для класса, который объявлен как абстрактный, иметь хотя бы один абстрактный метод?

Да, класс, объявленный как абстрактный (abstract), должен иметь хотя бы один абстрактный метод в своем теле.

А вот и нет. Абстрактный класс может не иметь ни одного абстрактного метода.

350 . Можем ли мы использовать ключевое слово abstract с конструкторами?

Да, мы можем использовать ключевое слово abstract с конструкторами в абстрактном классе. Абстрактный конструктор - это конструктор, объявленный с ключевым словом abstract, который не может быть вызван напрямую из кода и не создает экземпляры объектов.

Однако, в отличие от обычных методов, абстрактные конструкторы не могут быть определены в Java, потому что конструктор не может быть переопределен или вызван непосредственно из кода подклассов. Вместо этого абстрактный класс может иметь только защищенный (protected) конструктор, который может быть вызван из конструкторов его подклассов.

Почему вы даёте два противоположных ответа:

  • Да, мы можем использовать ключевое слово abstract с конструкторами в абстрактном классе

  • Однако абстрактные конструкторы не могут быть определены в Java

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

278 . Вы знаете, что все классы в Java унаследованы от класса java.lang.Object. Унаследованы ли интерфейсы от класса java.lang.Object?
Нет, только классы в Java наследуются от класса java.lang.Object. Интерфейсы в Java не наследуются от класса java.lang.Object.

370 . Как и классы, интерфейсы также расширяют класс java.lang.Object по умолчанию?
Да, в Java все интерфейсы по умолчанию расширяют класс java.lang.Object.

Так всё таки

  • да, интерфейсы расширяют java.lang.Object?

  • нет, интерфейсы не наследуют java.lang.Object?

Интерфейсы не могут расширять классы или наследоваться от классов, так как интерфейсы могут только расширять другие интерфейсы.

Sign up to leave a comment.

Articles