- 多态是方法的多态,不是属性的多态(多态与属性无关)
- 多态的存在要有三个必要条件:继承、方法重写、父类引用指向子类对象
- 父类引用指向子类对象后,用该父类应用调用子类重写的方法,此时多态就出现了
public class Polym {
public static void main(String[] args) {
// 动物叫
Animal ani = new Animal();
animalShout(ani);
// 狗叫
Dog dog = new Dog();
animalShout(dog);
// 猫叫
Cat cat = new Cat();
animalShout(cat);
}
static void animalShout(Animal a) {
a.shout();
}
}
class Animal {
public void shout() {
System.out.println("Aoao~");
}
}
class Dog extends Animal {
public void shout() {
System.out.println("woof~");
}
}
class Cat extends Animal {
public void shout() {
System.out.println("mimi~");
}
}