10-JAVA多态

JAVA多态

JAVA多态思维导图

多态的好处:

减少代码的冗余性

多态中的两种类型转换:

向上转型,也叫做自动类型转换,构成多态

  • 使用:

    • 父类型类 引用名称 = new 子类类名();
  • 当是多态时,该引用名称只能访问父类中的属性和方法,但是优先访问子类重写以后的方法

向下转型(强制类型转换)

  • 当是多态时,并且访问子类独有的属性或方法时,则必须进行向下转型

  • 使用:

    • (父类)Pet p=new Dog();(子类)
    • Dog d=(Dog)p;
  • 建议向下类型转换时,先进行判断,当合法则在转为对应的类型,则使用instanceof关键字

    • P=new cat();
      if(p instanceof Dog){
      Dog dog =(Dog)p;
      }else if(p instanceof cat) {
      Cat cat=(Cat)p
      }

递归:

方法自己调用自己,必须保证有出口

练习递归计算n!:

  • public static int mul(int n){

      if (n==0||n==1){return 1;}
      return n*mul(n-1);
    

    }

多态:

语法格式:

  • 父类类名 引用名称 = new 子类类名();

注意:

  • 当时多态时,该引用名称只能访问父类中的属性和方法(但是优先访问子类重写后的方法)

将多个对象调用同一个方法,得到不同的结果

满足多态的条件:

  • 子类必须继承父类
  • 子类重写父类的方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值