// 父类publicclassPeople{}//子类publicclassManextendsPeople{}//测试类publicclassTest{publicstaticvoidmain(String [] args)throws Exception {correctDown();errorDown();}staticvoidcorrectDown(){
People people=newMan();
System.out.println((Man) people);}//类型转换错误,java.lang.ClassCastException: People cannot be cast to ManstaticvoiderrorDown(){
People people=newPeople();
System.out.println((Man) people);}}
错误使用java向下转型 对于java的向下转型,强制向下转型,编译不会报错。但是在运行时,如果对象本身并非是该类型,强制转型, 在运行时会报java.lang.ClassCastException。因此只有把子类型赋给父类的引用,然后把该引用向下转型的情况,才不会报错。 父类不能强制向下转型!向上转型则是安全的。代码// 父类public class People {}//子...