В 10 уровне есть такие заметки про расширение и сужение ссылочных типов: "Начнем мы пока с переменной типа Object. Этой переменной можно присвоить ссылку любого типа(расширение типа). Но чтобы выполнить обратное присваивание(сужение типа), приходится явно указывать операцию приведения:
String s = "mama"; Object o = s; // типичное расширение ссылочного типа
Object o = "mama"; String s2 = (String) o; //типичное сужение ссылочного типа ............"
После того как я это прочитал в 10 уровне-вроде все понятно. Было...
А вот увидев в 12 уровне такую информацию: Cow cow = new Whale(); - классическое сужение типа
Cow cow = new Whale(); Whale whale = (Whale) cow; - классическое расширение типа.
В первом случае(10 уровень) у нас ближайший родительский класс- Object для String, а во втором(12 уровень) - Cow для Whale. Но почему то в первом случае(10 уровень) пример, где мы явно указываем операцию приведения в скобках, называется сужение, что логично, а во втором случае (12 уровень)- расширение. Совсем запутался(
Ренат
20 уровень
Расширение и сужение ссылочных типов
Решен
Комментарии (5)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Ренат
9 сентября 2017, 09:03
Александр, прочитав статью опять вышла путаница
Cow cow = new Whale(); в первой лекции 2 уровня Java Core такое приведение типов называют сужением(тут Cow родительсий тип для Whale). А в статье по Вашей ссылке аналогичное приведение типов называют расширением;
Animal animal Cat = new Cat(); - Animal родитель класса Cat.
Получается либо перепутали в лекции 1 12 уровня JavaRush, либо - в статье по Вашей ссылке( И в итоге я уже запутался вконец)
0
Pavlo Plynko Java-разработчик в CodeGym Expert
11 сентября 2017, 09:50
Спасибо за вопрос! Разберемся и устраним несоответствия.
0
Ренат
11 сентября 2017, 11:14
Спасибо что стараетесь для нас! -)
0
Ренат
9 сентября 2017, 08:06
Сейчас почитаю! -)
0
Александр ХаартExpert
9 сентября 2017, 08:03полезный
http://info.javarush.ru/Sant9Iga/2014/01/16/Преобразование-ссылочных-типов-или-спящий-волк-на-клавиатуре.html
+1