Java多态实现人喂养宠物小案例
代码要求:
- 定义动物类
属性:年龄,颜色
生成空参有参构造,set和get方法
行为:eat(String something)方法(无具体行为,不同动物吃的方式和东西不一样,something表示吃的东西) - 定义狗类继承动物类,行为:eat(String something)方法,看家lookHome方法(无参数)
- 定义猫类继承动物类,行为:eat(String something)方法,逮老鼠catchMouse方法(无参数)
- 定义Person类
生成空参有参构造,set和get方法属性:(姓名,年龄)
行为:keepPet( String something)方法
功能:喂养【宠物狗】和【宠物猫】,问号处自己思考,something表示喂养的东西 - 定义测试类,使用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多态实现人喂养宠物小案例相关推荐
- java gc 有钱人_小猿圈java之GC垃圾回收机制
垃圾回收机制是提高性能的重要机制,所以不管学什么语言也好,垃圾回收机制都是有的,也是很重要的,小猿圈这章详解一下java的GC垃圾回收机制,需要用的或者感兴趣的朋友们,可以跟着小编学习一下. 一.GC ...
- java awt自学1 container小案例
想做自己的应用,学一下图形界面. 教程来源于B站:教程在这里 创建Frame,设置Frame可见,setBounds方法,创建Panel,add方法. package com.lzy.containe ...
- JAVA实现可视化的xpath_【Java】爬虫基础 -- XPath 小案例
在项目下新建一个xpath.html 文件,编写代码解析books.xml. 代码如下: Title /*定义一个函数用来加载xml文档*/ function loadXMLDoc(dname) { ...
- java多线程实现卖火车票小案例同步代码块优先级守护线程
/*** * * @author 时光机jay * @version 1.8 * @since 2020/9/28 * * */ public class Test33 { s ...
- java实现StringBuffer小案例
StringBuffer实现字符串插入小案例,挺有意思的,哈哈哈哈 package P3_28;import java.util.Scanner;/*借助Scanner 读取字符串数据,然后用格式化输 ...
- 猜物品游戏java编程_小猿圈Java初学者练习小案例:猜数字游戏
对于Java初学者,如果没有好的引导,可能会觉得自己学什么都不好,学什么都不会,这个时候就要给他们一下小的案例,让他们去实践一下,让他们知道自己学的东西是可以用到的,小猿圈java讲师为你准备了Jav ...
- Java Web应用小案例:查询城市天气信息
Java Web应用小案例:查询城市天气信息 本期上大数据1班动态网站设计与开发课,经过半期的学习,学生已经可以利用所学的JSP知识开发简单的基于后台数据库操作的动态网站,但是这是远远不够的,课程教学 ...
- Java Web应用小案例:猜数小游戏
Java Web应用小案例:猜数小游戏 文章目录 一.演示Python版猜数游戏 二.JSP版猜数游戏程序运行效果
- java 后台跳出提示_小猿圈Java初学者练习小案例:猜数字游戏
对于Java初学者,如果没有好的引导,可能会觉得自己学什么都不好,学什么都不会,这个时候就要给他们一下小的案例,让他们去实践一下,让他们知道自己学的东西是可以用到的,小猿圈java讲师为你准备了Jav ...
最新文章
- 国内数据中心制冷系统设计与发展
- python怎么设置图的大小_python – 如何调整seaborn中的子图大小?
- spring boot开发笔记——mybatis
- numpy版本过高的解决方案
- 怎么根据输入的n来输入n组数组_【题解一维数组】1106:年龄与疾病
- Particle Designer:粒子效果制作器,生成plist文件并在工程中正常使用
- 泛微oa系统什么框架_泛微OA ecology 二次开发实例 开发完整说明
- Android ViewStub动态加载View
- ubuntu16.04安装搭建RED5流媒体服务器
- 继电保护原理1.1-电流、方向保护
- 基于天地图热力图及区域划分
- 剑指offer: 数组中数字出现的次数(曾在滴滴校招面试中遇到过)、leetcode消失的数字
- 时分秒表达式java_java 时分秒正则表达式
- 详解文件存储空间管理中的位示图法
- JavaScript数字转字符串,字符串转数字
- Unity-多米诺骨牌
- 维沃丫3手机微信无法连接服务器1.104,手机微信网络连接不可用?教你4个方法,轻松解决网络问题!...
- 挣扎数学建模:各种算法汇总(2)多属性决策模型
- 怎么获取红米Note 4X的Root权限
- [硬件项目] 1、汽车倒车雷达设计——基于API8108A芯片简易智能语音模块的设计与实现...