设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声,要求如下。

编写接口Animal
Animal接口有两个抽象方法cry()和getAnimalName(),即要求实现该接口的各种具体的动物类给出自己的叫声和种类名称。

编写模拟器类Simulator
该类有一个playSound(Animal animal)方法,该方法的参数是Animal类型,即参数animal可以调用实现Animal接口类重写的cry()方法播放具体动物的声音,调用重写的getAnimalName()方法显示动物种类的名称。

编写实现Anima接口l的Dog类和Cat类
编写主类Application(用户程序)
在主类Application的main方法中至少包含如下代码:

Animal.java
public interface Animal{
public abstract void cry();
public abstract String getAnimalName();
}

Simulator.java
public class Simulator{
public void playSound(Animal animal){
System.out.print(“现在播放”+animal.getAnimalName()+”类的声音:”);
animal.cry();
}
}

Dog.java
public class Dog implements Animal{
public void cry(){
System.out.println(“汪汪…汪汪”);
}
public String getAnimalName(){
return “狗”;
}
}

Cat.java

public class Cat implements Animal{
public void cry(){
System.out.println(“喵喵…喵喵”);
}
public String getAnimalName(){
return “猫”;
}
}

Application.java

public class Application{
public static void main(String args[]){
Simulator simulator = new Simulator();
simulator.playSound(new Dog());
simulator.playSound(new Cat());
}
}

运行结果如下所示:

【Java2实用教程】160 页 第5题 使用(接口)设计一个动物声音“模拟器“,希望模拟器可以模拟许多动物声音。相关推荐

  1. java2 实用教程第五版 第四章课本案例及课后题

    第五天 java2 实用教程第五版 耿祥义 张跃平编著 第四章代码 代码1:课本P80 package java课本项目;import java.util.*;public class Example ...

  2. Java2实用教程第五版+第五章习题答案

    这是<Java2实用教程第五版>的试题答案,需要的同学评论关注加点赞 有问题可以在评论区提出 1.问答题 (1)子类可以有多个父类吗? 不可以.Java是单继承的,只能继承一个父类. (2 ...

  3. Java2实用教程第五版+第四章习题答案

    这是<Java2实用教程第五版>的试题答案,需要的同学评论关注加点赞 有问题可以在评论区提出 1.问答题 (1)面向对象语言有哪三个特性? 封装.继承和多态 (2)类名应当遵守怎样的编程风 ...

  4. java2实用教程答案_Java-2实用教程(第5版)习题解答.doc

    Java-2实用教程(第5版)习题解答.doc 习题解答习题1(第1章)一. 问答题1Java语言的主要贡献者是谁2开发Java应用程序需要经过哪些主要步骤3Java源文件是由什么组成的一个源文件中必 ...

  5. Java2实用教程第五版+第六章习题答案

    这是<Java2实用教程第五版>的试题答案,需要的同学评论关注加点赞 有问题可以在评论区提出 1.问答题 (1)接口中能声明变量吗? 不能 (2)接口中能定义非抽象方法吗? 不能 可以把实 ...

  6. java2实用教程第5版第九章_java2实用教程(例子代码)第4版第九章.doc

    java2实用教程(例子代码)第4版第九章 java2实用教程(例子代码)第4版第九章 例9_3 Lt4_3.java public clss Lt4_3 { public static void m ...

  7. java2实用教程实验指导与习题解答第四版答案_java2实用教程实验指导与习题解答...

    java2实用教程实验指导与习题解答 [2021-02-18 22:23:51]  简介:  <JAVA2实用教程实验指导与习题解答>是清华大学出版社出版的关于Java操作技术的一本书. ...

  8. 【微信小程序-原生开发】实用教程05-首页(含自定义调试模式、插入图片、图文排版、底部留白、添加本地图片)

    开始前,请先完成启动/欢迎/首屏广告页的开发,详见 [微信小程序-原生开发]实用教程04-启动/欢迎/首屏广告页(含倒计时.添加文字.rpx.定义变量和函数.读取变量.修改变量.wx.reLaunch ...

  9. Java2实用教程2(第五版)耿祥义课后习题参考答案

    Java2(第5版)最新答案 耿祥义 第1章 一.问答题 1.James Gosling 2.需3个步骤: 用文本编辑器编写源文件. 使用javac编译源文件,得到字节码文件. 使用解释器运行程序. ...

最新文章

  1. 数据系列:如何在Windows Azure虚拟机上设置SQL Server
  2. curl 与 httpie 命令
  3. 创建型模式:单例模式(懒汉+饿汉+双锁校验+内部类+枚举)
  4. 2,Spring-mvc添加参数校验:避免参数格式不正确导致的400
  5. 如何设置SecureCRT通过代理连接SSH[转]
  6. redis windows下的环境搭建
  7. $0,$#,$@,$+特殊符号的含义,shell的传递参数
  8. bat自动输入密码登录_【第7期】Teamcenter自动登录改进,对portal.bat中登录密码加密...
  9. 一张小纸条(软件工程师成长过程中的一些建议)
  10. 在JavaScript面向对象编程中使用继承(4)
  11. 手工杀毒辅助软件(PC Hunter) V1.51 免费绿色版
  12. 计算机桌面截屏快捷键,关于电脑屏幕截图的快捷键是什么
  13. 三元运算 微信小程序_微信小程序 三元运算符 条件语句if和循环语句for(三目运算+hidden)...
  14. Proteus8.9 VSM Studio WINAVR编译器仿真ATmega16系列a19_DS18B20_LCD1602
  15. php获取蓝凑云文件列表,自制蓝奏云网盘解析接口全解
  16. MIMIC-CXR数据集的下载
  17. C++软件开发经典面试题目
  18. 【Elasticsearch】windows 10安装Elasticsearch和Kibana
  19. 我的世界服务器反反作弊最新版,【服务器插件】【完全的反作弊】
  20. unity 体感摄像头Azure

热门文章

  1. js调试工具-blackbird
  2. 美国税改法案修订会如何影响加密货币投资者
  3. k8s执行 kubeadm join token id i6q6rl is invalid for this cluster or it has expired.
  4. MySQL千万级数据进行插入,基础数据3千万,插入1千万数据时间约为4.7分钟,10个线程同时插入
  5. ChinaSkills-网络系统管理(2022年全国职业院校技能大赛-模块C-Window部署-02卷-评分标准 )
  6. 中学计算机教材教法试题及答案,中学信息技术教材教法模拟试题及答案
  7. android跳转到qq页面显示,安卓仿QQ登录及登录成功界面跳转
  8. FRN+TLU,小batch size训练的福音
  9. 3M 中国选择LMS实验解决方案帮助汽车制造商降低车内噪声
  10. 记一次U盘量产过程【PS2251-07(PS2307) - F/W 01.02.53 [2014-05-12]】