返回本章节

返回作业目录


需求说明:

  • 不同的动物都有进食的行为,但是在进食前需要捕获到食物后才可以进食。
  • 要求定义一个抽象的动物类,该类中有一个抽象的捕食方法,和一个非抽象的进食方法。在进食方法中调用捕食方法。
  • 定义3个不同的动物类,分别是老虎、猴子和狼,这些类继承抽象的动物类。

实现思路:

  1. 定义抽象类动物Animal,在其中定义捕食抽象方法predation()和非抽象进食方法eat(),并在进食方法中调用捕食方法。
  2. 创建3个动物类,分别是老虎类Tigger、猴子类Monkey和狼类Wolf,定义动物抽象父类,在这三个动物类中重写捕食方法。
  3. 创建测试类Test,在该类主方法中创建不同的动物对象,并调用它们的进食方法。

实现代码:

抽象类动物Animal:

public abstract class Animal {
//定义捕食抽象方法
public abstract void predation();
//定义非抽象进食方法
public void eat() {
System.out.println("嚼碎食物,讲嚼碎食物咽进肚子里。。。。");
}
}

老虎类Tigger:

public class Tigger extends Animal{
//继承重写predation()方法
@Override
public void predation() {
System.out.println("老虎单枪匹马作战发现猎物一击致命");
} }

猴子类Monkey

public class Monkey extends Animal{
//继承重写predation()方法
@Override
public void predation() {
System.out.println("猴子优哉游哉的爬到树上采摘香蕉");
} }

狼类Wolf:

public class Wolf extends Animal{
//继承重写predation()方法
@Override
public void predation() {
System.out.println("狼王有组织的安排不是进攻计划");
} }

测试类Test:


public class Test { public static void main(String[] args) {
Animal tigger = new Tigger();
tigger.predation();
tigger.eat();
Animal monkey = new Monkey();
monkey.predation();
monkey.eat();
Animal wolf = new Wolf();
wolf.predation();
wolf.eat(); } }

编写Java程序,使用抽象类和抽象方法构建不同动物的扑食行为,抽象类设计的更多相关文章

  1. 编写Java程序,方法练习题__构建英雄类,定义一个int类型的变量output,表示英雄的血量

    返回本章节 返回作业目录 需求说明: 定义一个int类型的变量output,表示英雄的血量,当battle()方法执行一次,output变量值减少10.在控制台随机输入一个小于100的整数,将该整数值 ...

  2. 编写Java程序,使用面向接口编程模拟不同动物的吼叫声

    返回本章节 返回作业目录 需求说明: 使用面向接口编程模拟不同动物的吼叫声 实现思路: 使用面向接口编程模拟不同动物吼叫声的实现思路: 定义发声接口Voice,在其中定义抽象吼叫方法sing(). 分 ...

  3. 编写Java程序,用户在网上购买商品(good),当用户买了一本书(book)、一顶帽子(hat)或者买了一双鞋子(shoe),卖家就会通过物流将商品邮寄给用户,使用简单工厂模式模拟这一过程。

    查看本章节 查看作业目录 需求说明: 编写Java程序,用户在网上购买商品(good),当用户买了一本书(book).一顶帽子(hat)或者买了一双鞋子(shoe),卖家就会通过物流将商品邮寄给用户, ...

  4. 35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n); (2)编写一个类:ClassA来实现接口InterfaceA,实现int method(int n)接口方 法时,要求计算1到n的和; (3)编写另一个类:ClassB来实现接口InterfaceA,实现int method(int n)接口 方法时,要求计算n的阶乘(n

      35.按要求编写Java程序: (1)编写一个接口:InterfaceA,只含有一个方法int method(int n): (2)编写一个类:ClassA来实现接口InterfaceA,实现in ...

  5. 初学编写JAVA程序

    一.编写JAVA程序 编写JAVA程序,输出一行文本信息:“Hello world”,选择编辑器eclipse,打开之后编写程序 public class Hello{ public static v ...

  6. Java初学者作业——使用记事本编写Java程序

    返回本章节 返回作业目录 需求说明: 使用记事本编写 Java 程序,输出"大家好!我的梦想是做一名 Java 高级工程师!". 为 Java 程序添加单行和多行注释以及文档注释. ...

  7. Java初学者作业——编写Java程序,实现用户登录验证。

    返回本章节 返回作业目录 需求说明: 编写Java程序,实现用户登录验证. 若用户名与密码输入正确,则提示"登录成功,欢迎回来!",若用户名与密码不匹配,则提示"用户名和 ...

  8. Java初学者作业——编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数。

    返回本章节 返回作业目录 需求说明: 编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数. 实现思路: 声明变量sum.count以及avg用于存储总成绩.班 ...

  9. Java初学者作业——编写Java程序,输入一个数字,实现该数字阶乘的计算。

    返回本章节 返回作业目录 需求说明: 编写Java程序,输入一个数字,实现该数字阶乘的计算.一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! .例如,5的阶乘等于1*2*3*4* ...

随机推荐

  1. 如何将List集合中相同属性的对象合并

    在实际的业务处理中,我们经常会碰到需要合并同一个集合内相同属性对象的情况,比如,同一个用户短时间内下的订单,我们需要将各个订单的金额合并成一个总金额.那么用lambda表达式和HashMap怎么分别处 ...

  2. android转换透明度

    比方说 70% 白色透明度. 就用255*0.7=185.5  在把185.5转换成16进制就是B2 你只需要写#B2FFFFFF 如果是黑色就换成6个0就可以了.前2位是控制透明度的.

  3. LVS nat模型+dr模型

    nat模型 在 rs1 和 rs2  安装httpd  并配置测试页,启动 [root@rs1 ~]# yum install httpd -y[root@rs1 ~]# echo "thi ...

  4. 【Linux卷管理】LVM创建与管理

    安装LVM 首先确定系统中是否安装了lvm工具: [root@jetsen ~]# rpm -qa|grep lvm system-config-lvm-1.1.5-1.0.el5 lvm2-2.02 ...

  5. I/O流之文件流

    1.文件操作类 File 1.public File(String pathname)//给定一个要操作文件的完整路径 2.public File(File parent,String child)/ ...

  6. Dom 解析XML

    xml文件 <?xml version="1.0" encoding="UTF-8"?><data>    <book id=&q ...

  7. 延时间隔(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 像"饭前洗手"这种事,绝大部分情况下,是洗完手马上就可以动筷子开吃,但总会有意外,比如手都洗好了,突然 ...

  8. 估计工期标识(Project)

    <Project2016 企业项目管理实践>张会斌 董方好 编著 有时候吧,我们遇到的任务,工期并不是那么好定的,本来嘛,一个项目如果全靠拍脑袋,最后搞不好会被人锤脑袋-- 看来PM有风险 ...

  9. java 输入输出IO流:FileOutputStream FileInputStream

    什么是IO: 生活中,你肯定经历过这样的场景.当你编辑一个文本文件,忘记了 ctrl+s ,可能文件就白白编辑了.当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里.那么数据都是在哪些设备上 ...

  10. HTML标签一览

    html标签属性大全 嵌套的html窗口<iframe > <iframe src="https://www.baidu.com"></iframe& ...