谁能在这里向我解释为什么在将父级向下转换为子级时会出现 java.lang.ClassCastException?
public class Child extends Parent{
public static void main(String[] args){
new Child().go();
}
void go(){
go2(new Parent(), new Child());
go2((Child) new Parent(), new Child());
}
void go2(Parent p1, Child c1){
Child c2 = (Child)p1;
Parent p2 = (Parent)c1;
}
}
class Tree{}
我已阅读参考变量转换并在网络上搜索示例。有人可以向我解释一下吗?我真的很想了解它为什么会抛出异常。谢谢