父类 子类向上,向下转型

父类 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地铁

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值