代码要求:

  1. 定义动物类
    属性:年龄,颜色
    生成空参有参构造,set和get方法
    行为:eat(String something)方法(无具体行为,不同动物吃的方式和东西不一样,something表示吃的东西)
  2. 定义狗类继承动物类,行为:eat(String something)方法,看家lookHome方法(无参数)
  3. 定义猫类继承动物类,行为:eat(String something)方法,逮老鼠catchMouse方法(无参数)
  4. 定义Person类
    生成空参有参构造,set和get方法属性:(姓名,年龄)
    行为:keepPet( String something)方法
    功能:喂养【宠物狗】和【宠物猫】,问号处自己思考,something表示喂养的东西
  5. 定义测试类,使用Perosn对象调用keepPet方法,实现运行结果运行结果

代码如下:

Animal类

public abstract class Animal {private int age;//年龄private String color;//颜色//无参数构造方法public Animal() {}//有参数构造方法public Animal(int age,String color) {this.age = age;this.color = color;}// get/set方法public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}//动物吃东西行为public abstract void eat(String food);}

Dog类:

public class Dog extends Animal{public Dog(int age, String color) {super(age, color);}@Overridepublic void eat(String food) {System.out.println(getAge()+"岁的"+getColor()+"的狗两只前腿死死的抱住"+food+"猛吃");}//狗的看家行为public void lookHome() {System.out.println("狗,看家");}}

Cat类:

public class Cat extends Animal{public Cat(int age,String color) {super(age, color);}@Overridepublic void eat(String food) {System.out.println(getAge()+"岁的"+getColor()+"的猫眯着眼睛侧着头吃"+food);}//猫的行为,逮老鼠public void catchMouse() {System.out.println("猫,逮老鼠");}
}

Person类:

public class Person {private String name;//姓名private int age;//年龄//无参数构造方法public Person() {}//有参数构造方法public Person(String name,int age) {this.name = name;this.age = age;}// get/set方法public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}//喂宠物行为public void keepPet(String something,Animal animal) {System.out.println("年龄为"+this.getAge()+"岁的"+this.getName()+"养了一只"+animal.getColor()+"的"+animal.getAge()+"岁的宠物");animal.eat(something);}
}

测试类:

public static void main(String[] args) {//定义Person对象老王Person laoWang = new Person("老王", 30);laoWang.keepPet("骨头",  new Dog(2,"黑颜色"));//定义Person对象老李Person laoLi = new Person("老李", 25);laoLi.keepPet("鱼", new Cat(3,"灰颜色"));}

Java多态实现人喂养宠物小案例相关推荐

  1. java gc 有钱人_小猿圈java之GC垃圾回收机制

    垃圾回收机制是提高性能的重要机制,所以不管学什么语言也好,垃圾回收机制都是有的,也是很重要的,小猿圈这章详解一下java的GC垃圾回收机制,需要用的或者感兴趣的朋友们,可以跟着小编学习一下. 一.GC ...

  2. java awt自学1 container小案例

    想做自己的应用,学一下图形界面. 教程来源于B站:教程在这里 创建Frame,设置Frame可见,setBounds方法,创建Panel,add方法. package com.lzy.containe ...

  3. JAVA实现可视化的xpath_【Java】爬虫基础 -- XPath 小案例

    在项目下新建一个xpath.html 文件,编写代码解析books.xml. 代码如下: Title /*定义一个函数用来加载xml文档*/ function loadXMLDoc(dname) { ...

  4. java多线程实现卖火车票小案例同步代码块优先级守护线程

    /***  *   * @author 时光机jay  * @version 1.8  * @since 2020/9/28  *   * */ public class Test33 {     s ...

  5. java实现StringBuffer小案例

    StringBuffer实现字符串插入小案例,挺有意思的,哈哈哈哈 package P3_28;import java.util.Scanner;/*借助Scanner 读取字符串数据,然后用格式化输 ...

  6. 猜物品游戏java编程_小猿圈Java初学者练习小案例:猜数字游戏

    对于Java初学者,如果没有好的引导,可能会觉得自己学什么都不好,学什么都不会,这个时候就要给他们一下小的案例,让他们去实践一下,让他们知道自己学的东西是可以用到的,小猿圈java讲师为你准备了Jav ...

  7. Java Web应用小案例:查询城市天气信息

    Java Web应用小案例:查询城市天气信息 本期上大数据1班动态网站设计与开发课,经过半期的学习,学生已经可以利用所学的JSP知识开发简单的基于后台数据库操作的动态网站,但是这是远远不够的,课程教学 ...

  8. Java Web应用小案例:猜数小游戏

    Java Web应用小案例:猜数小游戏 文章目录 一.演示Python版猜数游戏 二.JSP版猜数游戏程序运行效果

  9. java 后台跳出提示_小猿圈Java初学者练习小案例:猜数字游戏

    对于Java初学者,如果没有好的引导,可能会觉得自己学什么都不好,学什么都不会,这个时候就要给他们一下小的案例,让他们去实践一下,让他们知道自己学的东西是可以用到的,小猿圈java讲师为你准备了Jav ...

最新文章

  1. 国内数据中心制冷系统设计与发展
  2. python怎么设置图的大小_python – 如何调整seaborn中的子图大小?
  3. spring boot开发笔记——mybatis
  4. numpy版本过高的解决方案
  5. 怎么根据输入的n来输入n组数组_【题解一维数组】1106:年龄与疾病
  6. Particle Designer:粒子效果制作器,生成plist文件并在工程中正常使用
  7. 泛微oa系统什么框架_泛微OA ecology 二次开发实例 开发完整说明
  8. Android ViewStub动态加载View
  9. ubuntu16.04安装搭建RED5流媒体服务器
  10. 继电保护原理1.1-电流、方向保护
  11. 基于天地图热力图及区域划分
  12. 剑指offer: 数组中数字出现的次数(曾在滴滴校招面试中遇到过)、leetcode消失的数字
  13. 时分秒表达式java_java 时分秒正则表达式
  14. 详解文件存储空间管理中的位示图法
  15. JavaScript数字转字符串,字符串转数字
  16. Unity-多米诺骨牌
  17. 维沃丫3手机微信无法连接服务器1.104,手机微信网络连接不可用?教你4个方法,轻松解决网络问题!...
  18. 挣扎数学建模:各种算法汇总(2)多属性决策模型
  19. 怎么获取红米Note 4X的Root权限
  20. [硬件项目] 1、汽车倒车雷达设计——基于API8108A芯片简易智能语音模块的设计与实现...

热门文章

  1. iOS—— 调用高德地图SDK
  2. oracle命令历史,查看命令历史记录及其操作时间
  3. [含lw+开题报告+源码等]SSM酒店管理系统|旅店管理[包运行成功]
  4. 2013年中国城市及省份GDP排名
  5. [agc012e]Camel and Oases
  6. Go语言如何实现删除Winmail邮箱系统中收件箱的所有邮件
  7. 鸿蒙开发中vp和fp是啥?
  8. 三极管PNP和NPN对应引脚图及封装
  9. 手机端GSP地图的定位 并且在网页上显示地图的轨迹
  10. Java基础——LinkedList源码分析