多态的要点:
1.多态是方法的多态,不是属性的多态(多态与属性无关)
2.多态存在要有3个必要条件:继承、方法重写、父类引用指向子类对象。
3.父类引用指向子类对象后,用该父类引用调用子类重写的方法,此时多态就出现了。
案例代码:
package com.jackfujia.oo2;
/**
* 测试多态
* @author Administrator
*
*/
public class TestPolym {
public static void main(String[] args) {
Animal a = new Animal();
animalCry(a);
Dog d = new Dog();
animalCry(d);
Cat t = new Cat();
animalCry(t);
}
//多态的关键,通过父类的引用调用子类重写的方法。
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("喵喵喵!");
}
}