Java中的多态的自己深刻理解
多态指的是同一个方法调用,由于对象不同可能会有不同的行为.现实生活中,同一个方法,具体实现会完全不同.
多态的要点:
- 多态是方法的多态,不是属性的多态(多态与属性无关)
- 多态的存在要有三个必要条件:继承,方法重写,父类引用指向子类对象.
- 父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了
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(“喵喵”);
}
}