Может ли кто-нибудь здесь объяснить мне, почему я получаю исключение java.lang.ClassCastException при подавлении родительского ребенка?Down Casting in Java
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{}
Я прочитал ссылку на переменную и произвел поиск в Интернете. Может кто-нибудь, пожалуйста, объясните мне это? Я действительно хочу понять, почему это исключение. Спасибо
Вы роете родителя, который не является дочерним по отношению к ребенку. – user902383
Он не прошел тест IS-A: ребенок-родитель-ребенок, но родитель не ребенок. – duffymo