Java练习题,各位看看


有如下代码,请问哪些是不正确的?(   )
class ClassA{}
class ClassB extends ClassA{}
class ClassC extends ClassA{}
以及
ClassA p0 = new ClassA();
ClassB p1 = new ClassB();
ClassC p2 = new ClassC();
ClassA p3 = new ClassB(); 
ClassA p4 = new ClassC();


A.p0 = p1; 
B.p1 = p2;
C.p1 = (ClassB)p3; 
D.p2 = (ClassC)p4; 

ABC不对

C和D是对的。

A和B是不对的。

这问题 就B不对啊 

p0=p1 父类的引用可以指向一个子类对象,这个对

p1 = p2 肯定错的 

p1 =(B)p3 这是向下转型,p3编译类型是A类,然后强转成B

D同C