23 lines
1.4 KiB
Markdown
23 lines
1.4 KiB
Markdown
# Про приведения
|
||
|
||
Можно закинуть после харда про полиморфизм
|
||
|
||
## Задачка
|
||
Всем привет
|
||
Как вам хард вебинар? Надеюсь стало еще понятнее
|
||
|
||
А я к вам с небольшой задачкой))
|
||
Какой метод будет вызван в этом случае. Голосуйте с помощью эмоджи.
|
||
|
||
## Ответ
|
||
|
||
Всегда выбирается более специализированный метод, если это возможно. То есть если есть какая-то альтернатива `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) |