面向对象编程的三大特征继承、封装、多态。继承与封装从一面意思就可知一二,多态有点抽象。
"多态指的的针对同一种消息,不同的对象可以进行不同的操作。" --《计算机是怎样跑起来的》
"使用父类对象的地方都可以使用子类的对象。这就是通常所说的多态。
用简单的术语来描述,多态就意味着父类型的变量可以引用子类型的对象。"--《Java语言程序设计基础篇》
用实际例子来说明一下多态吧。
//生物类
public class Biology {
//种类(动物、植物)
private String variety;
public final String getVariety() {
return variety;
}
public final void setVariety(String variety) {
this.variety = variety;
}
}
//动物类
public class Animal extends Biology {
public Animal() {
setVariety("动物");
}
}
// 植物类
public class Botany extends Biology {
public Botany() {
setVariety("植物");
}
}
//测试类
public classTest {
public static void main(String[] arg) {
Test localTest = new Test();
localTest.printVariety(new Botany());
localTest.printVariety(new Animal());
}
//父类变量param可以引用继承Biology类的子类对象
private void printVariety(Biology param) {
System.out.print(param.getVariety);
}
}