JAVA为什么说抽象类是实现多态的一种途径。

 我来答
fiendvip
推荐于2018-04-14
知道答主
回答量:10
采纳率:0%
帮助的人:15.2万
展开全部
其实这个问题我是这样理解的。
首先我来给你举个例子:一个抽象的乐器类abstract Instrument.它里面有一个抽象的方法abstract void play();(提醒一下,没有方法体)。
然后有其它的几个不同的乐器(比如Wind、Percussion、Stringed)来继承了前面的乐器抽象类,你应该知道,继承一般要重写基类的方法并实现,所以Wind、Percussion、Stringed都需要去重写play方法。
比如Wind重写后是这样的public void paly() {System.out.println("这是Wind的play().")}。Percussion重写后是这样的public void paly() {System.out.println("这是Percussion的play().")}。Stringed重写后是这样的public void paly() {System.out.println("这是Stringed的play().")}。
你实例化类Wind、Percussion、Stringed的对象,它们的引用分别为W,P,S。
此时你这样调用W.play();P.play();S.play();
出来的结果分别是:这是Wind的play().这是Percussion的play().这是Stringed的play().
你看,这样就实现了多态。所以说抽象类是实现多态的一种途径。我就是这样理解的。

参考资料: Think in Java Fourth Edition

百度网友92fdde970
2011-07-25
知道答主
回答量:50
采纳率:100%
帮助的人:22.8万
展开全部
因为抽象类必须要继承之后才能使用,这样的实际使用时就可能用父类引用变量来引用子类对象了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白熊游戏chutianbo
2011-07-25 · TA获得超过164个赞
知道小有建树答主
回答量:190
采纳率:70%
帮助的人:94.7万
展开全部
继承抽象类的不同子类在实现抽象类中的方法时,使用不同的方式(方法中代码不同)
然后统一用抽象类对象来引用不同子类对象,调用相同的方法,出现的效果不同,这不就是多态。

其实接口也是类似的原理,只不过接口中不能包含attribute罢了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式