План уровня:
Что еще можно посмотреть на досуге: Глава "Полиморфизм" в Thinking in Java Для чего нужен super - официальная версия Тут можно скачать краткую инструкцию по хоткеям в IntelliJ Idea
Нашли классную ссылку к материалу данной темы? Добавьте ее сюда в виде комментария. Возможно, именно Ваша ссылка поможет другому человеку стать программистом и улучшить свою жизнь!
Вернуться к плану обучения
Вернуться к обучению java онлайн на JavaRush
- Основы ООП: перегрузка, полиморфизм, абстракция, интерфейсы.
- Полиморфизм детально
- Переопределение методов
- Приведение ссылочных типов: расширение и сужение. type cast
- Динамическая диспетчеризация методов
- Доступ к методам базового класса - super
- instanceof
- Перегрузка методов
- Абстрактные классы
- Интерфейсы
Что еще можно посмотреть на досуге: Глава "Полиморфизм" в Thinking in Java Для чего нужен super - официальная версия Тут можно скачать краткую инструкцию по хоткеям в IntelliJ Idea
Нашли классную ссылку к материалу данной темы? Добавьте ее сюда в виде комментария. Возможно, именно Ваша ссылка поможет другому человеку стать программистом и улучшить свою жизнь!
Вернуться к плану обучения
Вернуться к обучению java онлайн на JavaRush
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Как Вы думаете дженерики это все-таки полиморфизм или нет?)
В лекции сказано следующее:
А на intuit.ru следующее, то есть всё наоборот, поменяны понятия сужения и расширения типов:
То есть в лекции 12 переход от производного класса (дети) к базовому (родители) называют «классическим сужением типа», а на интуите «переход от детей к родителям» называют расширением. Где же правильно, или что-то я не правильно понимаю? Спасибо
в «Философии Java» и других источниках написано, что наследование применяется там, где есть связь «является».
Кит ведь не является коровой.
Вывод:
class A
Что это, если не наследование статического метода?
С другой стороны, напиши мы реализацию этого метода в B, то есть переопредели его, то при вызове B.method, мы получим выполнение действий, описанных в реализации класса B. Что это, если не переопределение статического метода?
Вывод:
class B
Да, если в этом случае создать экземпляр класса B в переменной класса A и вызвать у нее этот статический метод, то вызовется реализация, описанная в классе A
Вывод:
class A
Но тут надо просто сказать, что при вызове статического метода у переменной компилятор вместо нее подставляет ее тип, и не смотрит, что в ней содержится. Т.е. следующин 2 вызова статических методов аналогичны:
Например
Наверное есть смысл упомянуть об этом в самом уроке.