多态主要体现在向不同的对象发送同一个信息,不同的对象在接收时会产生不同的行为(即方法),对象可以用自己的方法去响应共同的信息。
多态的前提:
1)必须有继承关系
2)必须有方法重写
3)必须有父类的引用指向子类对象
示例:
abstract class Animal{
public abstract void speak();
}
//猫类
class Cat extends Animal{
public void speak() {
System.out.println("miao");
}
}
//狗类
class Dog extends Animal{
public void speak() {
System.out.println("wang");
}
}
public class Test {
public static void main(String[] args) {
//猫调用动物叫的方法输出miao,狗调用动物叫的方法输出wang,此为多态体现
speak(new Cat());
speak(new Dog());
}
public static void speak(Animal a){
a.speak();
}
}
结果:
miao
wang