黑马程序员技术交流社区

标题: 多态问题 [打印本页]

作者: 马如龙    时间: 2014-6-11 22:38
标题: 多态问题
  1. public static void main(String[] args)
  2.        
  3. {
  4.        
  5.                 function(new Dog());
  6.                 function(new Dog());


  7. }
  8.         public static void function(Animal a)

  9.         {
  10.                 a.eat();

  11.         }
复制代码


定义 两只狗: 狗a 和 狗b 完成吃的动作,改如何实现?
作者: 496080891    时间: 2014-6-12 07:34
  1. public class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 Animal dog = new Animal()
  6.                 {
  7.                         public void eat()
  8.                         {
  9.                                 System.out.println("狗吃肉");
  10.                         }
  11.                 };
  12.                
  13.                 Animal cat = new Animal()
  14.                 {
  15.                         public void eat()
  16.                         {
  17.                                 System.out.println("猫吃鱼");
  18.                         }                       
  19.                 };
  20.                 dog.eat();
  21.                 cat.eat();
  22.         }
  23. }
  24. abstract class  Animal
  25. {
  26.         public abstract void eat();
  27. }
复制代码

作者: 陈云阳    时间: 2014-6-12 09:23
本帖最后由 陈云阳 于 2014-6-12 09:25 编辑

abstract class Animal //动物类
{
        abstract void eat();//动物共性就是吃
}
class Dog extends Animal//狗继承动物
{
        void eat()
        {
                System.out.println("啃骨头");
        }
}
class test
{
        public static void main(String[] args)
        
        {
        
                function(new Dog());
                function(new Dog());


        }
    public static void function(Animal a)
    {
                a.eat();
    }
}

作者: 华子    时间: 2014-6-14 10:19
顶楼上,来混点东东
作者: 为梦想而活着    时间: 2014-6-15 08:44
顶一个一个公共类动物类,在公共类定义吃的抽象方法,然后在子类狗中继承公共类动物,在子类中定义具体的吃的方法即可·············,无论多少只狗都可以继承并定义自己的吃的方法,这就是多态········
作者: 风决    时间: 2014-7-8 19:08
额 。。。。。。。。。。。
作者: SLJ_920808    时间: 2014-7-8 19:34
陈云阳 发表于 2014-6-12 09:23
abstract class Animal //动物类
{
        abstract void eat();//动物共性就是吃

学习了!




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2