课本上面的原话:
1.子类重写父类的方法
2.把父类类型作为参数类型,该父类及其对象作为参数传入
3.运行时,根据实际创建的对象类型动态使用哪个方法
上传的附件里面关于继承的就不要讲了,多和我说说多态
hq.judge(new AccpJava("李明","北京中心"));
hq.judge(new AccpDot("张华","天津中心"));
这两句话new AccpJava怎么理解

Java中的多态,请高手给我讲解
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
5条回答 默认 最新
- iteye_15772 2010-08-03 15:02关注
首先多态是什么,是数据抽象和继承之后的第三种基本特性。可以有效的将接口和实现分离,也消除了类型之间的耦合性。
通常多态也称作后期绑定、动态绑定和运行时绑定。这个我就不解释了,下面我通过多态的常用特性“向上转型和向下转型”来解释下。
拿你ppt后面的题目来讲解:
乐器(Instrument)分为:钢琴(Piano)、小提琴(Violin)
各种乐器的弹奏( play )方法各不相同。Instrument是个父类,Piano、Violin分别继承自父类,从而具有父类的所有特性。
public class Piano extends Instrument{
void play(){
system.out.pring("我的Piano");
}
}public class Violin extends Instrument{
void play(){
system.out.pring("我的Violin");
}
}public class Music{
public static void tune(Instrument i){
i.play();
}public static void main(String[] args){
Piano piano =new Piano ();
Violin violin =new Violin ();
tune(piano );//向上转型用父类作为参数接受
tune(violin );)//向上转型用父类作为参数接受}
}
//从上面可以看出实现了多态,两个子类实例化后调用tune方法不需要明确指定实例化类的类型,而是指定了父类,由父类向上转型调用play方法。调用tune方法虚拟机会实现动态绑定。本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报