多态的实现

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("喵喵喵!!");
    }
}
//多态的好处是:当要调用同一种方法,但方法的行为不同时,不必写多个子类引用来调用该方法。大大简便了程序代码。。。

 

posted @ 2019-10-22 18:15  ziyuliu  阅读(123)  评论(0编辑  收藏  举报