编写Java程序,使用抽象类和抽象方法构建不同动物的扑食行为,抽象类设计
返回本章节
返回作业目录
需求说明:
- 不同的动物都有进食的行为,但是在进食前需要捕获到食物后才可以进食。
- 要求定义一个抽象的动物类,该类中有一个抽象的捕食方法,和一个非抽象的进食方法。在进食方法中调用捕食方法。
- 定义3个不同的动物类,分别是老虎、猴子和狼,这些类继承抽象的动物类。
实现思路:
- 定义抽象类动物Animal,在其中定义捕食抽象方法predation()和非抽象进食方法eat(),并在进食方法中调用捕食方法。
- 创建3个动物类,分别是老虎类Tigger、猴子类Monkey和狼类Wolf,定义动物抽象父类,在这三个动物类中重写捕食方法。
- 创建测试类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程序,使用抽象类和抽象方法构建不同动物的扑食行为,抽象类设计的更多相关文章
- 编写Java程序,方法练习题__构建英雄类,定义一个int类型的变量output,表示英雄的血量
返回本章节 返回作业目录 需求说明: 定义一个int类型的变量output,表示英雄的血量,当battle()方法执行一次,output变量值减少10.在控制台随机输入一个小于100的整数,将该整数值 ...
- 编写Java程序,使用面向接口编程模拟不同动物的吼叫声
返回本章节 返回作业目录 需求说明: 使用面向接口编程模拟不同动物的吼叫声 实现思路: 使用面向接口编程模拟不同动物吼叫声的实现思路: 定义发声接口Voice,在其中定义抽象吼叫方法sing(). 分 ...
- 编写Java程序,用户在网上购买商品(good),当用户买了一本书(book)、一顶帽子(hat)或者买了一双鞋子(shoe),卖家就会通过物流将商品邮寄给用户,使用简单工厂模式模拟这一过程。
查看本章节 查看作业目录 需求说明: 编写Java程序,用户在网上购买商品(good),当用户买了一本书(book).一顶帽子(hat)或者买了一双鞋子(shoe),卖家就会通过物流将商品邮寄给用户, ...
- 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 ...
- 初学编写JAVA程序
一.编写JAVA程序 编写JAVA程序,输出一行文本信息:“Hello world”,选择编辑器eclipse,打开之后编写程序 public class Hello{ public static v ...
- Java初学者作业——使用记事本编写Java程序
返回本章节 返回作业目录 需求说明: 使用记事本编写 Java 程序,输出"大家好!我的梦想是做一名 Java 高级工程师!". 为 Java 程序添加单行和多行注释以及文档注释. ...
- Java初学者作业——编写Java程序,实现用户登录验证。
返回本章节 返回作业目录 需求说明: 编写Java程序,实现用户登录验证. 若用户名与密码输入正确,则提示"登录成功,欢迎回来!",若用户名与密码不匹配,则提示"用户名和 ...
- Java初学者作业——编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数。
返回本章节 返回作业目录 需求说明: 编写Java程序,根据输入的某个班级的学员成绩,计算该班级学员的平均成绩,要求输入班级的人数. 实现思路: 声明变量sum.count以及avg用于存储总成绩.班 ...
- Java初学者作业——编写Java程序,输入一个数字,实现该数字阶乘的计算。
返回本章节 返回作业目录 需求说明: 编写Java程序,输入一个数字,实现该数字阶乘的计算.一个数字的阶乘是所有小于及等于该数的正整数的积,自然数n的阶乘写作n! .例如,5的阶乘等于1*2*3*4* ...
随机推荐
- docker安装jumpserver
注意MySQL的密码设置要有复杂度,否则jumpserver用不了 #先准备一台服务器安装MySQL和redis(注意官网版本要求) root@ubuntu:~# docker pull mysql: ...
- 【Linux】【Problems】在fedora 9上解决依赖问题
summary: 在32bit的fedora9上安装EMC客户端遇到无法解决的依赖问题 detail: rpm 安装: [root@hcszmons02 tmp]# rpm -ivh lgtoclnt ...
- [特征工程] GBDT
- [源码解析] PyTorch 分布式(14) --使用 Distributed Autograd 和 Distributed Optimizer
[源码解析] PyTorch 分布式(14) --使用 Distributed Autograd 和 Distributed Optimizer 目录 [源码解析] PyTorch 分布式(14) - ...
- Hadoop分布式文件系统(HDFS)设计
Hadoop分布式文件系统是设计初衷是可靠的存储大数据集,并且使应用程序高带宽的流式处理存储的大数据集.在一个成千个server的大集群中,每个server不仅要管理存储的这些数据,而且可以执行应用程 ...
- 批处理文件(.bat)并行Arcpy脚本提高效率的思路
Arcpy提供数据处理的方便接口,但一个Arcpy脚本通常只运行于一个核上.现在电脑通常是多核乃至多处理器,如果能将任务分解为可同时进行的若干任务,便可通过并行充分利用电脑性能. 折腾了python并 ...
- .NET 云原生架构师训练营(建立系统观)--学习笔记
目录 目标 ASP .NET Core 什么是系统 什么是系统思维 系统分解 什么是复杂系统 作业 目标 通过整体定义去认识系统 通过分解去简化对系统的认识 ASP .NET Core ASP .NE ...
- CF158A Next Round 题解
Content 有 \(n\) 个人参加比赛,第 \(i\) 名在第一轮的分数是 \(a_i\)(保证 \(a_i\geqslant a_{i+1}\))已知下一轮预计能进 \(k\) 人,当然如果有 ...
- CF1454A Special Permutation 题解
Content 给定一个整数 \(n\),请构造出一个长度为 \(n\) 的排列 \(\{a_i\}_{i=1}^n\),使得对于每个 \(a_i\),都有 \(a_i\neq i\). 我们称一个长 ...
- Raft成员变化(Membership Change)
我司高产作家唐刘老师的小猪佩奇版"深入浅出 Raft"第四弹来啦~~前几篇内容戳这里 ↓ 在猪爸爸的努力下,泥坑银行终于能高效正常的运作了,但猪爸爸一直比较担心海盗岛那边的网点,因 ...