【Demo 0006】Java基础-类多态性

时间:2024-09-19 19:07:02

本章学习要点:

      1.  了解Java多态特性;

      2.  掌握Java多态的实现;

一、多态特性

      1.  定义:

           指同一个对象调用相同的方法实现不同的功能;

      2.  用途:

            作为面向对象三大特性之一,在设计模式中多态特性被运用的非常广泛。 在开发过程中常遇到相似类型的事物有着相同的行为,但在编译时无法确定具体是哪一个时就可用多态来实现从而

            提升代码的扩展性和灵活性, 通常配合抽象类实现面向接口编程,降低程序间耦合度;

            比如:    鸟,鸡它们都是动物有着相似的行为如怕人,鸟见人来会被吓飞, 鸡见来被跑;

二、多态实现

      1.   定义父类

            class  Animal {

                abstract void action();

           }

      2.   定义子类

           class Bird {

                 void action() {

                      System.out.print("飞");

                  }

            }

           class  Chick {

                 void action() {

                      System.out.print("跑");

                  }

            }

      3.  多态调用

          public  class   Test {

               void  animalAction(Animal animal) {

                     animal.action();

              }

             public static void main(String[] args) {

                Animal[] animals    = new Animal[2];

                animals[0] = new Bird();  // 父类对象指向子类对象的引用

                animals[1] = new Chick();

                Test test = new Test();

                System.out.print("人来了");

                for (int ii = 0; ii < animals.length; ii++)  {

                    test.animalAction(animals[ii]);   //  通知所有的动物都离开,每种动物离开的方式各不相同

                }

            }

演示代码