План уровня:
Что еще можно посмотреть на досуге: "Информация о типах" в Thinking in java RTTI - run-time type identification Преобразование ссылочных типов или спящий волк на клавиатуре http://habrahabr.ru/post/27108/ https://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.1.6 https://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.5
Нашли классную ссылку к материалу данной темы? Добавьте ее сюда в виде комментария. Возможно, именно Ваша ссылка поможет другому человеку стать программистом и улучшить свою жизнь!
Вернуться к плану обучения
Вернуться к обучению java онлайн на JavaRush
- Приведение типов, instanceof. Большая задача на интерфейсы.
- instanceof
- Приведение ссылочных типов: расширение и сужение. type cast
- Singleton pattern
Что еще можно посмотреть на досуге: "Информация о типах" в Thinking in java RTTI - run-time type identification Преобразование ссылочных типов или спящий волк на клавиатуре http://habrahabr.ru/post/27108/ https://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.1.6 https://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.5
Нашли классную ссылку к материалу данной темы? Добавьте ее сюда в виде комментария. Возможно, именно Ваша ссылка поможет другому человеку стать программистом и улучшить свою жизнь!
Вернуться к плану обучения
Вернуться к обучению java онлайн на JavaRush
Но ведь это не так? Точнее, забыли про боооольшууую оговорку. Благодаря полиморфизму Java сама определяет, метод какого класса вызвать. И объект Tiger, присвоенный переменной Cat вполне может вызвать метод класса Tiger. Все зависит от того, какой аргумент подадут на вход.
У меня возник вопрос. Какую смысловую нагрузку несет число 37, это просто первое пришедшее на ум автору число или это специальное число, которое должно на что-то меня натолкнуть?
info.javarush.ru/translation/2013/09/14/Шаблон-проектирования-Singleton-одиночка-наиболее-рациональные-реализации-в-примерах-.html
RTTI — run-time type identification
Ось робоча адресація: RTTI — run-time type identification
На 10 уровне говорилось:
«Кратко и по существу о преобразовании ссылочных типов. Но пока мы коснёмся только переменной типа Object. Этой переменной можно присвоить ссылку любого типа (расширение типа). Но чтобы выполнить обратное присваивание (сужение типа) приходится явно указывать операцию приведения:
».
И примеры.
Типичное расширение ссылочного типа:
Типичное сужение ссылочного типа:
Дошел до 14 уровня, там говорится обратное:
«Движение вверх по цепочке наследования называется сужением, т.к. теряется возможность вызвать методы, которые были добавлены в класс при наследовании.»
И пример.
При расширении типа, нужно использовать оператор преобразования типа.
Или я чего-то недопонимаю? Объясните пожалуйста.
почему можно сделать такое расширение:
но нельзя такое:
Ведь вроде бы и pet и pet1 хранят объекты класса Pet.
В случае же объекта, изначально созданного как Pet, приведение к классу-потомку невозможно.
И превратить потом такого зверька в тигра никак не получится)