Java基础语法之多态

面向对象三个特征:封装继承多态
extends继承或者implements实现是多态性的前提(对象的多态性Polymorphism/Multi)。

(一)格式:

  1. 父类名称 对象名 = new 子类名称();//父类引用指向子类对象。
  2. 接口名称 对象名 = new 实现类名称();

多态中成员变量/成员方法访问特点:

  1. 成员变量:编译看左,运行看左。
  2. 成员方法:编译看左,运行看右。

☆☆使用多态的好处:无论右边new的时候换成哪个子类对象,等号左边调用方法都不会改变。

对象的向上转型
父类引用指向子类对象:父类名称 对象名 = new 子类名称();
把猫当做动物来看;创建一个子类对象,把它当做父类来看待使用。
注意:这个向上转型是肯定可行的,但缺点是无法调用子类所特有的方法,为了解决这一问题,需要对象的向下转型,将父类对象,[还原]成子类对象,就是把原来的动物还原成猫,可以使用猫的特有方法。
对象的向下转型(还原)
格式:子类名称 对象名 = (子类名称)父类对象;

Animal animal = new Cat();//本来是猫,向上转型成了动物。
Cat cat = (Cat)animal;//猫被当做了动物,现在还原成了猫。
注意:必须是对象本来创建的时候就是猫,才能向下转型成猫。如果不是这样的话,编译不会出错,但运行会出错。

instanceof关键字进行类型判断(能不能进行对象的向下转换):
对象名 instanceof 类型 返回boolean值

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值