作业帮 > 政治 > 作业

已知类person是类student的父类,以下数组定义和赋值哪些是正确的( ).

来源:学生作业帮 编辑:拍题作业网作业帮 分类:政治作业 时间:2024/05/16 03:11:59
已知类person是类student的父类,以下数组定义和赋值哪些是正确的( ).
A. person p[]=new person[3]; p[1]=new student(); B .student s[]=new person[3]; s[1]=new person(); C .person p[]= new student[3];p[1]= new person(); D .student s[]=new student[3];s[1]=new person
为什么选A?
这题考的是类型转换,答案A明显有一个父类类型的引用变量(P1)指向子类对象(new Student()),这是实现多态的要点之一.其他的都不符合规范.B的student s[]=new person[3]需要把person强制转换成student才可以,C中p[1]= new person();前面已经定义P[I]指向student类型的对象了,这样明显也需要强制转换,D也是一样,子类引用指向父类对象,需要强制类型转换Z总得来说就是等号左边是父类,等号右边是子类可以,反之不可以,需要强制转换