Java多态的理解与应用(基础)

版权声明:版权声明:转载必须注明本文转自StathamJ的博客:https://blog.csdn.net/qq_41664447 https://blog.csdn.net/qq_41664447/article/details/85293697

前言

  • Java中多态使用父类引用指向子类对象,再调用某一父类中的方法时,不同子类会表现出不同结果。
  • 多态的作用:这样的作用就是扩展性极好,玩过网游的话应该知道 游戏中有不同的角色,它们都有一个父类,它们做相同动作时表现出来的效果就会不一样,比如跑,魔法师的跑跟战士的跑就不会一样,这就是俩者都覆盖了父类中的跑方法,各自有自己的现实,表现出来多态。
  • 多态的优点:如果有一天你想再加个角色,只用再写一个类继承该父类,覆盖其中的跑方法就行了,其他代码不用怎么改,所以可维护性也很好。
  • 代码举例(带解析)
    • 设置情境:你的妻子(cjk)喜欢听鸟叫声,而且每天喜欢听不同声音的鸟叫声。
public class 多态test {
    public static void main(String[] args) {
        //实例化一个妻子cjk
        Wife cjk=new Wife();
        System.out.println("*******这是第一天想听鹦鹉叫*******");
        //cjk今天想听鹦鹉叫,传入一个鹦鹉对象
        cjk.listen(new Parrot());
        System.out.println("*******这是第二天想听麻雀叫*******");
        //cjk今天想听麻雀叫,传入一个麻雀对象
        cjk.listen(new Sparrow());
    }
}
//一个鸟类
class Bird{
    //鸟会叫
    void moo(){
        System.out.println("鸟类的叫声");
    }
}
//一个鹦鹉类
class Parrot extends Bird{
    //重写鸟类中的moo方法
    void moo(){
        System.out.println("鹦鹉的叫声");
    }
}
//一个麻雀类
class Sparrow extends Bird{
    //重写鸟类中的moo方法
    void moo(){
        System.out.println("麻雀的叫声");
    }
}
//一个妻子类
class Wife{
    //妻子喜欢听鸟叫声
    void listen(Bird bird){
        bird.moo();
    }
}

猜你喜欢

转载自blog.csdn.net/qq_41664447/article/details/85293697