有如下代码,请问哪些是不正确的?( )
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