目录
1.多态的概念
多态就是同一个接口,使用不同的实例而执行不同的操作。
例如:
现实中,比如我们按下 F1 键这个动作:
- 如果当前在 Flash 界面下弹出的就是 AS 3 的帮助文档;
- 如果当前在 Word 下弹出的就是 Word 帮助;
- 在 Windows 下弹出的就是 Windows 帮助和支持。
同一个事件发生在不同的对象上会产生不同的结果。
2. 多态的优点
1)可替代性
2)可扩充性
3)消除类型之间的耦合关系
3. 多态的实现条件
1)继承 2)重写 3) Parent p = new Child() 父类引用指向子类对象
4 多态的代码实现与测试
当使用多态方式调用方法时,首先检查父类中是否有该方法,如果没有,则编译错误;
如果有,再去调用子类的同名方法。
class sl1{
public void say(String name){
System.out.println("Say = "+ name);
}
}
class sl2 extends sl1{
public void say(String thing){
System.out.println("Show = "+thing);
}
}
public class Inter {
public static void main(String[] args) {
//创建父类引用指向对象
sl1 s = new sl2();
s.say("Java");
}
}
上述程序的输出结果为:
===进阶
当子类对象调用重写的方法时,调用的是子类的方法,而不是父类中被重写的方法。
要想调用父类中被重写的方法,则必须使用关键字 super。