Java中的多态的自己深刻理解

多态指的是同一个方法调用,由于对象不同可能会有不同的行为.现实生活中,同一个方法,具体实现会完全不同.
多态的要点:

  1. 多态是方法的多态,不是属性的多态(多态与属性无关)
  2. 多态的存在要有三个必要条件:继承,方法重写,父类引用指向子类对象.
  3. 父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了
    public class TestPolym {
    public static void main(String[] args) {
    Animal a = new Animal();
    animalCry(a);
    Animal d = new Dog();
    animalCry(d);
    }
    static void animalCry(Animal a) {
    a.shout();
    }

}

class Animal{
public void shout() {
System.out.println(“叫了一声”);
}
}
class Dog extends Animal{
public void shout() {
System.out.println(“汪汪汪”);
}
}

class Cat extends Animal{
public void shout() {
System.out.println(“喵喵”);
}
}
Java中的多态的自己深刻理解