第三章 多态

第三章 多态

1. 什么是多态

面对同一个方法,有不同的表现形式

多态必须在继承的基础上

2.向上转换(子类转换成父类类型)

只能执行从父类继承下来的方法,不能执行子类的特有方法

Pet pet=new Dog();
//父类      子类

3.向下转换(父类到子类的转换)

向下转型前必须先有向上转型,并转换成相应的子类才能转换成功

Pet pet=new Dog();  //向上转换
Dog dog=(Dog)pet;   //向下转换(强制转换)
//Penguin penguin=(Penguin)pet;   报错......

4. 实现多态的方法

  • 使用父类作为方法的形参实现多态

    public void feed(Pet pet){
        //   Pet pet=new Dog();   向上转换
        pet.eat();
      //Dog中的eat()方法
  • 使用父类作为方法返回值实现多态

    public Pet getPet(){
        Pet pet=null;
        pet=new Dog();  //向上转换
        return pet;
    }

5. instanceof 运算符

表示判断一个对象是否属于一个类或实现一个接口

进行应用类型转换时,先通过 instanceof 运算符进行类型判断

6.多态的优点

  • 可扩展性强

  • 减少代码量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值