编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。
实现思路及关键代码
1)定义乐器类Instrument,包括方法makeSound()
2)定义乐器类的子类:二胡Erhu、钢琴Piano和小提琴Violin
3)定义乐手类Musician,可以弹奏各种乐器play(Instrument i)
4)定义测试类,给乐手不同的乐器让他弹奏

代码展示:

//父类-->乐器类Instrument
public class Instrument {//弹奏的方法public void makeSound(){System.out.println();}}//子类-->二胡类Erhu
public class Erhu extends Instrument{//弹奏的方法-->方法重写public void makeSound(){System.out.println("听我弹奏二胡,《二泉映月》、《拉骆驼》、《江河水》、《战马奔腾》...");}}//子类-->钢琴类Piano
public class Piano extends Instrument {//弹奏的方法-->方法重写public void makeSound(){System.out.println("听我弹奏钢琴,《梦中的婚礼》、《秋日私语》、《蓝色多瑙河》、《 命运交响曲》...");    }}//子类-->小提琴类Violin
public class Violin extends Instrument {//弹奏的方法-->方法重写public void makeSound(){System.out.println("听我弹奏小提琴,《纪念曲》、《圣母颂》、《云雀》、《梁祝》...");}}//乐手类Musician
public class Musician {public void play(Instrument i){i.makeSound();}}//测试类Test
public class Test {public static void main(String[] args) {Musician m=new Musician(); //创建乐手类对象Instrument i1=new Erhu(); //创建二胡类对象m.play(i1);System.out.println("========================================================");Instrument i2=new Piano(); //创建钢琴类对象m.play(i2);System.out.println("========================================================");Instrument i3=new Violin(); //创建小提琴类对象m.play(i3);}}

效果截图:

java编写程序实现乐手弹奏乐器。乐手可以弹奏不同的乐器从而发出不同的声音。可以弹奏的乐器包括二胡、钢琴和琵琶。定义乐器类Instrument,包括方法makeSound() 。定义乐器类的子类相关推荐

  1. java 编写方法和属性,Java类属性及方法的定义

    文章导读 [在定义类时,经常需要抽象出它的属性和方法,并定义在类的主体中.本文探讨Java类属性及方法的定义和使用.通过本文的学习,你将了解如何在Java类中定义属性及方法.属性值的设置和获取.] 本 ...

  2. java程序步骤_java编写程序的步骤是什么?java编写程序步骤实例讲解

    写java编程就是一步一步的来,这样才会写好一个编程,之后也才能正常的运行,那么java编写程序的步骤是什么?今天我们就来给大家讲解一下这方面的内容.大家可以参考以下文章! 1.编写源文件 使用文本编 ...

  3. Java编写程序将数据存入Kafka中

    Kafka是一个类似于RabbitMQ的消息系统,它的主要功能是消息的发布和订阅.处理和存储. 1.它类似于一个消息系统,读写流式的数据. 2.编写可扩展的流应用处理程序,用于实时事件响应的场景. 3 ...

  4. 采用JAVA编写程序实现从文件读取操作

    采用JAVA编写程序实现从文件读取操作 代码: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io ...

  5. Java 编写程序打印以下图形_怎么用java编写如下程序在屏幕上输出如下图形 * *** *** * 循环语句做(if语句)...

    怎么用java编写如下程序在屏幕上输出如下图形 * *** ***** ******* ***** ... 4个答案  提问时间: 2011-12-16  22个赞 回答:这个图形对吧? * *** ...

  6. byfen网java_用java编写程序根据考试成绩的等级打印出百分制分数段

    用java编写程序,根据考试成绩的等级打印出百分制分数段:设A为90分以上,B为80分以上,C为70分以上,D为60分以上,E为59分以下.要求在程序中使用开关语句.上级运行其结果是否符合设计要求: ...

  7. python:掌握类的基本方法。定义一个Circle类,根据圆的半径求周长和面积。 再由Circle类创建2个圆对象,其半径分别为5和10,要求输出各自的周长和面积

    掌握类的基本方法.定义一个Circle类,根据圆的半径求周长和面积. 再由Circle类创建2个圆对象,其半径分别为5和10,要求输出各自的周长和面积 请在[python数据分析之禅]gzh后台,回复 ...

  8. java编写程序实现键盘钢琴,运用键盘事件、鼠标事件

    java编写程序实现键盘钢琴,运用键盘事件.鼠标事件 界面     实现 MouseListener,MouseMotionListener,KeyListener接口,当鼠标进入不同按钮时,会播放不 ...

  9. java编写程序实现求三角形、正方形和圆的面积

    java编写程序实现求三角形.正方形和圆的面积,要求先设计一个公共的父类,在其中·定义求面积的方法,再继承得到各种形状 package practice3; abstract class shape{ ...

最新文章

  1. [微信小程序]点击切换卡片动画效果
  2. 学Python,这些内置数据类型总结(数字类型)你可否知道
  3. AWS — 重塑混合云
  4. POJ 2299 Ultra-QuickSort(树状数组+离散化)
  5. AWGN和Rayleigh信道下QPSK的误码率分析
  6. HP Network Team #1: PROBLEM
  7. python调用cplex_python - 如何使用docplex(python)在优化问题中建模约束? - SO中文参考 - www.soinside.com...
  8. DSP关于存储器读写、IO读写时序图的注意点
  9. Springboot,SSM框架的区别
  10. Java笔记-RabbitMQ中生产者端confirm模式
  11. 每日一题(易错):这条SQL语句,有什么作用?
  12. 简介如何查看执行计划以及执行计划的准确性
  13. 小程序中里的bindinput_云开发实战分享|诗和远方:旅行小账本云开发
  14. 【转】让EntityManager的Query返回Map对象
  15. 设置mysql的schema_MySQL Performance-Schema(一) 配置篇
  16. 耿楠《LaTeX 中文教程》随堂学习记录
  17. Python之爬虫之BeautifulSoup学习
  18. Laravel填充数据Seeder出现Target class [***] does not exist.
  19. 搭建阿里云Linux版服务器+使用docker安装EMQ、Node-RED、MySQL+本地Navicat访问数据库(增删改查)——详细流程
  20. win7设置ipsec_解决win7连接IPsec报错789和809错误

热门文章

  1. PCI8524 并行8Ch24Bits100Ksps高精度数据采集卡
  2. openedge-hub模块启动源码浅析——百度BIE边缘侧openedge项目源码阅读(1)
  3. Excel表格中行列互换的方法?
  4. 移动端click事件无反应或反应慢 touchend事件页面滑动时频繁触发
  5. 随机事件与概率术语与主题
  6. Leetcode 1905. Count Sub Islands
  7. re.search与re.findall的区别
  8. Android内存泄漏leakcanary2.7
  9. 测试新人如何编写测试用例?一文带你写一个合格的测试用例
  10. 【开发工具】SVN 忽略指定类型文件或指定名称文件夹