多态

多态指的是子类对象可以直接赋给父类变量,但运行时依然表现出子类的行为特征。这意味着同一个类型的对象在执行同一个方法时,可能表现出多种行为特征。

java中子类可以看成是特殊的父类,所以父类的引用变量可以指向子类的对象:向上转型(upcastion)
当引用变量时如果编译时类型跟运行时类型不一致,就有可能出现多态。
SuperClass s = new SubClass()


 对象的多态,Java中,子类的对象可以代替父类的对象使用。
       一个变量只能有一种确定的数据类型。
     一个引用类型变量可以引用多种不同的对象类型。
虚拟方法调用:
 虚拟方法调用只有在多态情况下才可能出现。
 SuperClass s = new SubClass();
 s.method;//当method是SubClacc重写SuperClassde的方法时,就会出现虚拟方法调用
 编译时S为SuperClass类型,方法调用的是SubClass类的method方法。
多态产生的前提:
  需要存在继承或者实现关系
  要有覆盖操作
成员方法:
  编译时:会检查引用变量所属的类是不是有所调用的方法。
  运行时:会调用实际对象所属的类中被重写的方法。
成员变量:
成员变量不存在覆盖,所以不会产生多态。只需要看引用变量所属的类就好。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值