子类强制转换为父类是不是只能转第一父类????

如题 Master 继承Wizard 。Wizard继承Solider

Master[] _pGroupA=new Master[4];
Master[] _pGroupB=new Master[4];
for(int i=0;i<2;i++){
_pGroupA[i]=(Master) new Solider();
_pGroupB[i]=(Master) new Solider();
}
_pGroupA[2]=(Master)new Wizard();
_pGroupB[2]=(Master)new Wizard();
_pGroupA[3]=new Master();
_pGroupB[3]=new Master();

        编译器提示Solider cannot be cast to Master

不是,你写错了。如题 Master 继承Wizard 。Wizard继承Solider,从这句可知,maste是子类,Solider是父类。_pGroupA[i]=(Master) new Solider();而这句是父类被强制转换为子类

你这转反了。_pGroupA[i]=(Master) new Solider();
_pGroupB[i]=(Master) new Solider();这是父类转子类了。肯定不行撒

晕,这种错误都有,这里是搞笑版么

中国人理所当然地可以被视作人,但是人不能简单认为都是中国人。