java中编译报错 ClassCastException 是什么原因,如何处理

ClassCastException  表示类型转换异常    

例如:Pet 宠物类   Dog  狗狗类 (继承Pet)  Penguin 企鹅类(继承Pet)

  Dog  dog  =  (Dog)pet  ;  正确  向下转型

  Dog   dog =   (Dog)penguin  ;  错误  向下转型

处理方法:使用  instanceof  进行类型判断,可以避免类型转换异常

    Pet pet = new Dog();

  例:  if(pet  instanceof  Dog){

    Dog dog = (Dog)pet;    

    }else if(pet instanceof Penguin){

    Penguin  penguin = (Penguin)pet;

    }

猜你喜欢

转载自www.cnblogs.com/song-xingxing/p/10546552.html