package Test1; /** * * @author 刘子煜 *2019.10.22 * 多态的实现: * 多态是指方法的多态,不是属性的多态 * 多态存在的三个必要条件:继承的出现、方法的重写、父类引用指向子类对象 * 父类引用指向子类对象后,用该父类引用调用子类重写的方法,多态就实现了 */ public class Test12 { public static void main(String[] args) { Animal a=new Animal(); Cry(a); Dog d=new Dog(); //此处为父类引用指向子类对象 Cry(d); Cat c=new Cat(); //此处为父类引用指向子类对象 Cry(c); } static void Cry(Animal a1) { a1.shout(); } } //shout()方法的重写,Dog和Cat继承Animal类 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("喵喵喵!!"); } } //多态的好处是:当要调用同一种方法,但方法的行为不同时,不必写多个子类引用来调用该方法。大大简便了程序代码。。。