JAVA中,为什么要用多态,,怎么用请给个通俗易懂的例子解释下……

 我来答
百度网友21647e5fc
2012-12-06 · TA获得超过709个赞
知道小有建树答主
回答量:149
采纳率:100%
帮助的人:143万
展开全部
举个例子,显示鸟的飞行动作
对于八哥鸟,你可以这样new Myna().fly();
对于鹦鹉,你可以这样new Parrot().fly();
对于孔雀,你可以这样 new Peacock().fly();
。。。
对于每一个具体的鸟,你都必须调用具体的鸟类对象。
现在使用多态再来看看。
我们先写一个Bird类,用来抽取出鸟类的飞行动作。
public abstract class Bird {
public void fly() {
System.out.println("default bird fly!");
}
}

再写具体的鸟类,继承Bird类
class Parrot extends Bird {
@Override
public void fly() {
System.out.println("Parrot fly");
}
}

class Myna extends Bird {
@Override
public void fly() {
System.out.println("Myna fly");
}
}

现在再来看一下八哥和鹦鹉的飞行动作。
public static void main(String args[]) {
Bird bird = new Parrot();
bird.fly();
bird = new Myna();
bird.fly();
}
这样,同一个Bird的实例对象实际对调用的是八哥和鹦鹉的飞行动作。

假如这样还不清楚。那么现在有一个flyPerform()方法,显示具体的鸟的飞行行为。
flyPerform(Bird bird){
bird.fly();
}

那么你就可以这样
flyPerform(new Parrot());
flyPerform(new Myna());

假如现在又有了一种新的鸟,NewBird那么我们只需要将new NewBird作为参数传入flyPerform方法即可,而不需要去修改这个方法的代码。

这是一个比较粗糙的例子,要不你仔细琢磨看看?

对于这个推荐答案,我不是很认同,
在java里面多态一般指的是运行时多态,重载多态是通过方法签名实现的,同一个方法名,但是要求参数必须不一样,这个在编译期间就可以确定调用的是哪个方法。
重载多态在C++上说的比较多些吧。
markbruce2
2012-12-06 · TA获得超过1555个赞
知道小有建树答主
回答量:925
采纳率:50%
帮助的人:619万
展开全部
多态在两方面有体现:
继承多态

同一种抽象的东西在具体的类型中有不同的表现。比如大多数动物(抽象类)会叫,但是狗(实现类)就是汪汪汪,猫(实现类)就是喵喵喵
或者是具有包含关系需要修改表现,比如物品(父类)具有现实详细信息的功能,但是书籍(子类)显示详细信息中可能还要包含书籍本身特有信息比如页数、作者等等,这也是多态。

重载多态:同一个方法名在不同类型不同数量的参数传入需要有不同的表现。
这个在构造方法上用的挺多,一般来说类都会有一个无参构造方法,还有不定的几个有参构造方法,这是因为在编程期间需要调用不同的构造方法来产生不同的类。比如无参的就吧所有属性置为默认值,有参的就用参数去初始化属性等
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
红纸鹤的梦
2012-12-06
知道答主
回答量:60
采纳率:0%
帮助的人:18.4万
展开全部
使用多态就是用父类类型屏蔽子类差异,使程序更加简单通用,例如:我定义一个Animal的父类,然后再定义一个Dog和Cat的子类,当我想应用Dog的对象时,可以用父类的Animal指向Dog子类,这样就屏蔽掉了子类中的差异
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
snaillq08
2012-12-06 · TA获得超过140个赞
知道答主
回答量:77
采纳率:0%
帮助的人:63.7万
展开全部
java语言本身是不支持多态的,但是可以使用interface实现类似多态。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bangbangmiao
2012-12-06 · 超过32用户采纳过TA的回答
知道答主
回答量:199
采纳率:0%
帮助的人:91.7万
展开全部
多态就是继承的表现形式。
爸爸的3个儿子 各自长的不一样,这就是多态
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式