多态的定义:
同一个方法调用,由于对象不同可能会有不同的行为。现实生活中,同一个方法,具体实现会完全不同。
多态的要点:
- 多态是方法的多态,不是属性的多态(多态与属性无关)。
- 多态的存在要有3个必要条件:继承,方法重写。父类引用指向子类对象。
- 父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了
代码如下
public class TestPolym {
public static void main(String[] args) {
Animal animal =new Animal();
animalCry( animal );
}
static void animalCry(Animal a){
a.shout();
}
}
class Animal{
public void shout(){
System.out.println("动物园");
}
}
class Dog extends Animal{
@Override
public void shout(){
System.out.println("旺旺");
}
}
class Cat extends Animal{
@Override
public void shout() {
System.out.println("喵喵");
}
}