Java中的多态

Java三大基本特性:封装、继承、多态,多态建立在封装与继承的基础之上。

一、方法的多态

方法的重写是多态的体现方式之一。

方法的重载不是多态。

多态要有动态绑定,否则就不是多态,方法重载也不是多态(因为方法重载是编译期决定好的, 没有后期也就是运行期的动态绑定)当满足这三个条件:1、有继承 2、有重写 3、要有父类引用 指向子类对象。

子类在继承父类时重写父类的方法,父类的一个方法可以在子类中有不同的表现形式。

二、对象的多态

一个对象的编译类型和运行类型不一样;

多态就是父类的引用指向子类的对象:

Animal animal = new Dog();

Animal anima1 = new Cat();

编译类型看等号的左边,运行类型看等号的右边。

三、多态的转型

3.1多态的向上转型

语法格式:

父类 父类引用 = new 子类();

将子类的对象赋值给了父类的引用。小范围(子类) 转为大范围(父类)自动转

父类的引用可以调用父类的所有成员方法,可以调用子类的重写父类的方法,但是不能调用子类独有的方法。

3.2多态的向下转型

语法格式:

父类类型 父类引用 = new 子类();

子类类型 子类引用 = (子类类型)父类的引用;

向下转型需要强制转换。


总结

多态首先是建立在继承之上的,没有继承就没有多态。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值