JavaRush /Java 博客 /Random-ZH /参考类型的扩展/缩小:不同的来源 - 不同的解释
Core
第 35 级
Екатеринбург

参考类型的扩展/缩小:不同的来源 - 不同的解释

已在 Random-ZH 群组中发布
下午好。JavaRush 讲座中疑似存在错误。假设有一个Parent类和一个继承自它的Child类。 假设有以下几行代码: Parent parent = new Child; Child child = (Child) parent; 根据12 级课程的讲座,第 1 课(1. 多态性和重写),第 5 段)(类型转换。 )第一行是缩小,第二行是扩展(在讲座中,牛是父母,鲸鱼是继承人)但这不是真的。一切都恰恰相反。所描述内容的含义很清楚:在第一行中,我们创建了一个 Child 类型的对象,并将其使用仅限于 Parent 类中描述的方法。但这是一种扩展,因此这种减少是隐含的。在第 10 级的附加材料中,有人说:您要链接的文本...
扩展意味着从更具体的类型转移到不太具体的类型,即 从孩子到父母的转变。在我们的示例中,从任何继承人(Child、Child2)到父代(Parent)的转换都是扩展,是到更通用类型的转换。与原始类型的情况类似,这种转换是由 JVM 本身在必要时进行的,并且对开发人员来说是不可见的,也就是说,它不需要任何额外的工作,因为它总是成功:您始终可以访问从继承者按其父代的类型。父级 p1=new 子级(); 父 p2=new Child2(); 在这两行中,Parent 类型的变量被分配了不同类型的值,这意味着发生了转换。由于这是一个扩展,因此它是自动完成的并且总是成功的。
我的例子的第二行则相反,按照同样的方式添加。材料是一个缩小范围,需要在括号中明确指示类型。而且在讲座中它被解释为扩展,这可能是错误的,请解释一下。我不想对类型转换有双重冲突的看法。下面是讲课的片段, 讲座片段 之前的讲课还是有错误的嫌疑,这个应该写在哪里呢?我在常见问题解答中没有找到它。
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION