A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© a554305211 中级黑马   /  2015-9-1 20:56  /  312 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  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. }
复制代码

4 个回复

倒序浏览
谢谢楼主分享
回复 使用道具 举报
多谢分享
回复 使用道具 举报
多态也有吧
回复 使用道具 举报
不错不错!!!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马