父类 pet |
子类 Dog |
子类 qiE |
向上转型: Dog dog =new();
pet dog=new Dog();
pet必须是Dog的父类,才可以向上转型,类似自动类型转换
向下转型 : Pet pet=new Dog();
Dog dog=(Dog)pet;
类似强制类型转换 ,然而向下转型容易出现异常,所以需要用instanceof 判断类型是否转换成功。
if(animal instanceof qiE){ //企鹅子类
qiE q3=(qiE) animal;
System.out.println(q3);
q3.swim();
}else{
Dog dog =(Dog) animal; //语法上没错但是不能这么转,所以需要判断一下向下转换能转哪种类型
System.out.println(dog);//狗子类
dog.flyDisk();
}
向上转型的话只能调用父类通用的方法,而不能调用子类独有的方法。想要调用子类·独有的方法,则需要向下转型
词总结 cast 转换 subway地铁