digital-garden/archive/Я.Практикум/Сообщения/Про приведения.md
2024-06-13 21:01:37 +03:00

23 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Про приведения
Можно закинуть после харда про полиморфизм
## Задачка
Всем привет
Как вам хард вебинар? Надеюсь стало еще понятнее
А я к вам с небольшой задачкой))
Какой метод будет вызван в этом случае. Голосуйте с помощью эмоджи.
## Ответ
Всегда выбирается более специализированный метод, если это возможно. То есть если есть какая-то альтернатива `Object`, которая может подойти, то выбирается она.
Как пример есть класс `Parent`, есть его наследник `Child`. И код как на первом скрине. Мы попадем в `Child`, если убрать метод с `Child` то попадем в Parent, и только если уберем метод c `Parent`, то попадем в `Object`. Вот такое поведение.
Но если сделаем два наследника `Parent` (второй скрин), то Java не разберется куда наш бедный `null` передать. Такие дела.
![](photo_2022-05-15%2013.13.12.jpeg)
![](photo_2022-05-15%2013.13.21.jpeg)