java study 08day--多态

来源:互联网 发布:中央空调 知乎 编辑:程序博客网 时间:2024/04/29 08:50

一、多态的定义

定义:某一类事物的多种存在形态。

Eg:动物中猫,狗。

猫这个对象对应的类型是猫类型

x = new();

同时猫也是动物中的一种,也可以把猫称为动物。

动物  y = new();

动物是猫和狗具体事物中抽取出来的父类型。

父类型引用指向了子类对象。

二、多态的扩展性

1,多态的体现

       父类的引用指向了自己的子类对象。

       父类的引用也可以接收自己的子类对象。

2,多态的前提

       必须是类与类之间有关系。要么继承,要么实现。

       通常还有一个前提:存在覆盖。

3,多态的好处

       多态的出现大大的提高程序的扩展性。

4,多态的弊端:

       提高了扩展性,但是只能使用父类的引用访问父类中的成员。

5,多态的应用

abstract class Animal

{

       abstract void eat();

}

class Cat extends Animal

{

       public void eat()

       {

              System.out.println("吃鱼");

       }

       public void catchMouse()

       {

              System.out.println("抓老鼠");

       }

}

class DuoTaiDemo

{

       public static void main(String[] args)

       {

           function(new Cat());

              function(new Dog());

              function(new Pig());

       }

       public static void function(Animal a)   //Animal a = new Cat();

       {

              a.eat();

              //a.catchMouse();

       }

}

 

原创粉丝点击