黑马程序员技术交流社区

标题: 今天敲的动物抽象继承 [打印本页]

作者: a554305211    时间: 2015-9-1 20:56
标题: 今天敲的动物抽象继承
  1. class TestAnimal {
  2.         public static void main(String[] args) {
  3.                 //Animal a = new Cat();                                //创建父类引用,子类对象
  4.                 //a.eat();                                                        //调用吃饭
  5.                 getAnimal(new Dog());                                //传递狗类参数
  6.                 getAnimal(new Cat());                                //传递猫类参数

  7.         }

  8.         public static void getAnimal(Animal a) {//
  9.                 if (a instanceof Cat) {
  10.                         Cat c = (Cat)a;
  11.                         c.eat();
  12.                         c.catchMouse();
  13.                 } else if (a instanceof Dog) {
  14.                         Dog d = (Dog)a;
  15.                         d.eat();
  16.                         d.lookHome();
  17.                 }
  18.         }
  19. }
  20. /*案例演示:
  21.                         具体事务:猫,狗
  22.                         共性:姓名,年龄,吃饭
  23.                         猫的特性:抓老鼠
  24.                         狗的特性:看家*/
  25. abstract class Animal {                                        //动物抽象类
  26.         String name;                                                //名字
  27.         int age;                                                        //年龄

  28.         abstract public void eat();                        //抽象方法吃饭
  29. }

  30. class Cat extends Animal {                                //猫类,继承动物类
  31.         public void eat() {                                        //重写抽象方法吃饭
  32.                 System.out.println("猫吃鱼");
  33.         }

  34.         public void catchMouse() {                        //抓老鼠
  35.                 System.out.println("抓老鼠");
  36.         }
  37. }

  38. class Dog extends Animal {                                //狗类,继承动物类
  39.         public void eat() {                                        //重写抽象方法吃饭
  40.                 System.out.println("狗吃肉");
  41.         }

  42.         public void lookHome() {                        //看家
  43.                 System.out.println("看家");
  44.         }
  45. }
复制代码

作者: 夕阳游子    时间: 2015-9-1 21:18
谢谢楼主分享
作者: superhs    时间: 2015-9-1 21:19
多谢分享
作者: 加多宝    时间: 2015-9-1 21:25
多态也有吧
作者: xzl6313    时间: 2015-9-1 21:26
不错不错!!!!!




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