多态的理解

代码: Father f = new Child(); //假设父类是球,子类是篮球,父类有playBall方法,子类进行重写

1、在内存中(stack区)创建一个Father的引用f,在heap中new出一个Child类型的对象,并且f指向new出来的对象。

2、此时对于父类引用f来说,他只知道自己指向的是一个球,并不管这个球是篮球或者足球,所以f只能访问球的相关属性和方法,而不能访问篮球(child)的方法。

3、但是当你调用f.playBall()方法时,真正执行的他指向的对象的playBall方法(即时父类并不知道子类的playBall方法);假设给你一个球(实际上是个篮球),让你执行打球的方法,你肯定是用打篮球的方法来打球。

这样就可以用来理解多态的概念了(假设现在给你一个足球,你就会用踢足球的方法来打球)。

动态绑定、 多态 、迟绑定(相同的概念):在运行期间判断所引用对象的实际类型,根据其实际类型调用其相应的方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值