多态的使用

abstract class Animals

{

         publicabstract void eat();

}

class cat extends Animals

{

         publicvoid  eat()

         {

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

         }

         publicvoid  eatmouse()

         {

                  System.out.println("看家");

         }

}

class dog extends Animals

{

         publicvoid eat()

         {

                  System.out.println("吃骨头");

         }

         publicvoid kanhouse()

         {

                  System.out.println("看家");

         }      

}

class pig extends Animals

{

         publicvoid  eat()

         {

                  System.out.println("饲料");

         }

         publicvoid gongdi()

         {

                  System.out.println("龚地");

         }

}

public class Demoa

{

         publicstatic void main(String[] args)

         {

                  //catc =new cat();

                  //c.eat();

                  //catc1=new cat();

                  //b.eat();

                  //以上书写,较为麻烦..可以再次创建静态方法.

                  catc=new cat();

                  catc1=new cat();

                  funtion(c1);

                  funtion(c);

                  //funtion(newdog());

                  funtion(newpig());

         }

         /**

         publicstatic void funtion (cat c)   

         {

                  c.eat();

         }

         publicstatic void funtion(dog d)

         {

                  d.eat();

         }

         publicstatic void funtion(pig f)

         {

                  f.eat();

         }

         这个项目涉及到的知识是多态:

         父类的引用指定了自己的 子类对象.

         父类的引用也可以接受自己的子类对象.

         多态的前提  必须是类与类之间的关系要么继承,要么实现.

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

         多态的好处   多态的出现大大提高了程序的扩展性

         但是也有缺点 只能使用父类的引用 访问

         */

         publicstatic void funtion(Animals f)

         {

                  f.eat();

         }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值