在java中,什么是多态?有什么作用?

大家可用自己的理解说出来吗?我很想搞懂,用最通俗的例子也可以... 大家可用自己的理解说出来吗?我很想搞懂,用最通俗的例子也可以 展开
 我来答
zhujiapo
推荐于2016-11-14 · TA获得超过185个赞
知道答主
回答量:289
采纳率:0%
帮助的人:195万
展开全部
多态是一种编程技巧
它增加论了程序的可扩展性

比如你要做个篮子放水果,你当然不希望造这样的篮子--苹果篮子,橘子篮子,梨篮子,正常人都会想,麻烦啊,我就造个篮子,什么都能放,干嘛造那么多啊?

回归程序:你造个篮子 basket();参数是水果 fruit,这样你调用的时候就可以这样 basket(fruit f);然后往里放苹果啊,梨啊,什么都行,只要是水果类的子类

好处:这样设计你的程序,等你的参数变了的时候,只要还是水果,你就不用去改程序了,这就是可扩展性的体现

fruit f = apple a
这就是一个多态的应用
多态应用的三个条件:
继承 (apple当然继承了fruit)
子类对象指向父类引用(a是apple的一个对象,f是fruit类父类的一个引用)
重写(就是子类重写父类继承来的方法。父类实现了一个方法,他不一定适合子类,因为如果适合你也就不用重新定义一个类了,用父类就行了。这时就需要去重新写一个方法,实现新的功能)
度简0C4
2017-09-01 · TA获得超过181个赞
知道答主
回答量:66
采纳率:100%
帮助的人:23万
引用zhujiapo的回答:
多态是一种编程技巧
它增加论了程序的可扩展性

比如你要做个篮子放水果,你当然不希望造这样的篮子--苹果篮子,橘子篮子,梨篮子,正常人都会想,麻烦啊,我就造个篮子,什么都能放,干嘛造那么多啊?

回归程序:你造个篮子 basket();参数是水果 fruit,这样你调用的时候就可以这样 basket(fruit f);然后往里放苹果啊,梨啊,什么都行,只要是水果类的子类

好处:这样设计你的程序,等你的参数变了的时候,只要还是水果,你就不用去改程序了,这就是可扩展性的体现

fruit f = apple a
这就是一个多态的应用
多态应用的三个条件:
继承 (apple当然继承了fruit)
子类对象指向父类引用(a是apple的一个对象,f是fruit类父类的一个引用)
重写(就是子类重写父类继承来的方法。父类实现了一个方法,他不一定适合子类,因为如果适合你也就不用重新定义一个类了,用父类就行了。这时就需要去重新写一个方法,实现新的功能)
展开全部
“a是apple的一个对象”这句话是不对的 ,a是一个对象的引用 而非一个对象,“子类对象指向父类引用”这句话对应的是这个句子“Fruit f = new Apple();”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
第8感超人
2009-12-26 · TA获得超过659个赞
知道小有建树答主
回答量:529
采纳率:0%
帮助的人:326万
展开全部
多态和继承的概念总是联系在一起的
比如说 class Father 和 class son extends father
可以这样实例化 Father f=new son()
但是不能这样 son s=new father()
只有向上转才是有效的啊

至于有什么作用 多写点程序就体会出来了.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匆匆催人老
2009-12-26 · TA获得超过338个赞
知道小有建树答主
回答量:303
采纳率:0%
帮助的人:208万
展开全部
多态性和上转型对象联系起来的。具体有很细的分类,我举个例子大概说明下,楼主可以找本书自己看看:
比如:父类叫 哺乳动物。父类中有个 方法 是:“叫”
猫类和狗类都继承这个方法:但是
猫类调用后产生的行为是:“喵喵~~”
狗类调用后产生的行为时:“汪汪~~”。
在了解多态前请先了解下上转型对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
mysoul2008
2009-12-26 · 超过34用户采纳过TA的回答
知道答主
回答量:239
采纳率:0%
帮助的人:97万
展开全部
我个人理解为,子类继承父类的方法,扩充父类的方法
父类的方法可以为一个空方法,子类方法对其进行功能上的扩充.就想一楼举的例子一样,父类中只定义了叫的方法,子类猫和狗在重载父类的方法之后进行了功能上的扩充,定义了自己的方法.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式