A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© τ、高童鞋ゝ 中级黑马   /  2012-4-18 11:35  /  1799 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

java中实现多态的机制是什么?? 不是怎么明白,希望能帮助我理解下,最好能举个示例,谢谢!

4 个回复

倒序浏览
你仔细看视频就OK的,这个问题在老师的视频里讲的很细,而且很容易理解。
下面是我的理解,你参考下吧。

有一个父类FuClass,它有2个子类ZiClass1,ZiClass2。FuClass有一个方法run(),两个子类都重写了这个方法。
那么我们可以定义一个FuClass的引用fc,让它指向一个子类的对象,比如FuClass fc = new ZiClass1();
那么我们调用fc.run()方法时候,会进行动态绑定,也就是fc它的实际类型的run()方法,即ZiClass1的run()方法。
同样你写FuClass fc = new ZiClass2();fc.run()其实调用的是ZiClass2的run()方法。
这种由于子类重写父类方法,然后用父类引用指向子类对象,调用方法时候会进行动态绑定,这就是多态。

评分

参与人数 1技术分 +1 收起 理由
贠(yun)靖 + 1

查看全部评分

回复 使用道具 举报
java中实现多态的机制:
父类或接口定义的引用变量可以指向子类或具体实现类的实例对象。
多态就是多种状态,一个事物即是...又是...
基础的学习,有时候太专业的用语容易让人无所适从,这时候需要从其他方面来思考,使概念简单、形象:
两个类:动物Animal    猫Cat  ,动物类是猫类的父类
Animal animal = new Cat();
这里的animal是一个对象引用,它即是动物、也是猫,这个引用就具备多态的性质了。
回复 使用道具 举报
父类对象的引用指向了子类的对象就叫多态。比如,List list=new ArrayList() 就用到了多态!
回复 使用道具 举报
我来根据我的理解举个例子
猪是动物
你可以称呼猪为猪,你也可以称呼猪为动物,这样都是合理的。
你可以声明一个名字为pig对象是动物,然后把它实例化为一头猪。这样也是合理的,因为猪就是动物。
这样,pig这个引用就指向了猪这个实例。
多看几遍视频,在琢磨琢磨就好了,理解东西总需要个过程的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马