JAVA课后习题(一)——我是歌手

2023-05-16

大家好!
我是小黄,很高兴又跟大家见面啦 !
今天更新的是:

  • JAVA程序设计课后习题-我是歌手
  • 往期检索:程序设计学习笔记——目录

创建时间:2020年10月23日
软件版本: eclipse 2020-06 (4.16.0)


目录 :

  • 1. 题目:
  • 2. 代码:

1. 题目:

1、本实验要求:以不同歌手唱不同的歌为背景,体验抽象类的定义和使用。

  • 1-1.业务说明
    1-1.1. 歌手是具有对唱歌能力者的统称。
    1-1.2. 具体的歌手又具有不同曲风和种类,如流行类、民族类的;
    1-1.3. 本实验将模拟不同歌手唱不同的歌为背景,体验抽象类的定义和使用。
    1-2. 创建工程并配置环境:
    1-2.1. 限制1. 创建实验工程,命名为:SE_JAVA_EXP_E035P;
    1-2.2. 限制2. 创建包,命名为:cn.campsg.java.experiment;
    1-2.3. 限制3. 创建包,命名为:cn.campsg.java.experiment.entity。
    1-3. 创建歌手抽象类:
    1-3.1. 限制1. 在cn.campsg.java.experiment.entity包中创建抽象类:AbstractSinger。
    1-3.2. 为AbstractSinger类添加“介绍职业”的方法:
    1) 显示内容为:”Hello,我是歌手。”;
    2)“介绍职业”的方法定义要求如下:
    在这里插入图片描述
    1-3.3. 为AbstractSinger类添加“唱歌“的抽象方法,方法定义要求如下:
    在这里插入图片描述
    1-4. 创建流行歌手类
    1-4.1. 限制1. 在cn.campsg.java.experiment.entity包中创建流行歌手类: PopSinger
    1-4.2. 使PopSinger类继承AbstractSinger抽象类。
    1-4.3. 在PopSinger类中实现AbstractSinger类里定义的sing抽象方法,实现要求如下:
    1)在方法体中向控制台输出“我是唱流行乐的。”
    1-5. 模拟歌手唱歌:
    1-5.1. 限制1. 在cn.campsg.java.experiment包中创建主类:MainClass;
    1-5.2. 为MainClass创建入口主方法:main;
    1-5.3. 在main中,用流行歌手类实例化一个歌手对象。
    1-5.4. 在main中,调用歌手对象的introduce方法和sing方法。
    1-5.5. 在控制台中查看并验证输出结果。

  • 2、实现思路:

    2-1. 创建工程并配置环境。
    2-2. 创建歌手抽象类:
    2-2.1. 限制1. 在cn.campsg.java.experiment.entity包中创建抽象类:AbstractSinger;
    2-2.2. 为AbstractSinger类添加“介绍职业”的方法introduce:
    1)该方法为抽象类的已实现方法,供子类直接使用;
    2)该方法逻辑实现为显示内容:”Hello,我是歌手。”;
    3)本方法定义如下:
    在这里插入图片描述
    2-2.3. 为AbstractSinger类添加“唱歌“的抽象方法sing:
    1)本方法由具体子类实现,抽象类中只定义方法形式:
    在这里插入图片描述
    2-3. 创建流行歌手类
    2-3.1. 限制1. 在cn.campsg.java.experiment.entity包中创建流行歌手类: PopSinger
    2-3.2. 为PopSinger类添加无参构造函数。
    2-3.3. 使PopSinger类继承AbstractSinger抽象类。
    在这里插入图片描述 2-3.4. 在PopSinger类中实现父类里定义的sing抽象方法,实现要求如下:
    1)在方法体中向控制台输出“我是唱流行乐的。”
    在这里插入图片描述
    2-4. 模拟歌手唱歌
    2-4.1. 限制1. 在cn.campsg.java.experiment包中创建主类:MainClass;
    2-4.2. 为MainClass创建入口主方法:main;
    2-4.3. 在main中,用流行歌手类实例化一个歌手对象。
    2-4.4. 在main中,调用歌手对象的introduce方法和sing方法。
    2-4.5. 在控制台中查看并验证输出结果。
    在这里插入图片描述

  • 3、验证与测试:

    3-1. 在工程中定位主类MainClass。
    3-2. 右键点击MainClass类,依次选择:Run As->Java Application。
    3-3. 运行程序,查看输出结果是否符合预期。

  • 4、完成效果预览:

在这里插入图片描述

2. 代码:

  • eclipse工程目录 :

在这里插入图片描述

  • 包名 :cn.campsg.java.experiment
  • 类名:MainClass
package cn.campsg.java.experiment;

import cn.campsg.java.experiment.entity.AbstractSinger;
import cn.campsg.java.experiment.entity.PopSinger;

public class MainClass {

	public static void main(String[] args) {
		
		AbstractSinger s = new PopSinger();
		s.introduce();
		s.sing();
	}

}

  • 包名 :cn.campsg.java.experiment.entity
  • 类名:AbstractSinger
package cn.campsg.java.experiment.entity;

public abstract class AbstractSinger {
	public void introduce() {
		System.out.println("Hello,我是歌手。");
	}

	public abstract void sing() ;
}

  • 包名 :cn.campsg.java.experiment.entity
  • 类名:PopSinger
package cn.campsg.java.experiment.entity;

public class PopSinger extends AbstractSinger{
	public void sing() {
		System.out.println("我是唱流行乐的。");
	}
}


各位路过的朋友,如果觉得可以学到些什么的话,点个赞 再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。

每个小伙伴的关注都是本人更新博客的动力!!!
请微信搜索【 在下小黄 】文章更新将在第一时间阅读 !
在这里插入图片描述

把握现在 ,展望未来 ,加油 !


由于水平有限 ,写的难免会有些不足之处 ,恳请各位大佬不吝赐教 !

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA课后习题(一)——我是歌手 的相关文章

  • JavaMail Gmail 问题。 “准备启动 TLS”然后失败

    mailServerProperties System getProperties mailServerProperties put mail smtp port 587 mailServerProperties put mail smtp
  • ExceptionConverter:java.io.IOException:文档没有页面。我正在使用 iText

    当我执行下面的代码时 File f new File c sample pdf PdfWriter getInstance document new FileOutputStream f document open System out p
  • java.io.IOException: %1 不是有效的 Win32 应用程序

    我正在尝试对 XML 文档进行数字签名 为此我有两个选择 有一个由爱沙尼亚认证中心为程序员创建的库 还有一个由银行制作的运行 Java 代码的脚本 如果使用官方 认证中心 库 那么一切都会像魅力一样进行一些调整 但是当涉及到银行脚本时 它会
  • 如何在 Java 中禁用 System.out 以提高速度

    我正在用 Java 编写一个模拟重力的程序 其中有一堆日志语句 到 System out 我的程序运行速度非常慢 我认为日志记录可能是部分原因 有什么方法可以禁用 System out 以便我的程序在打印时不会变慢 或者我是否必须手动检查并
  • jdbc4.MySQLSyntaxErrorException:数据库中不存在表

    我正在使用 SpringBoot 开发一个网络应用程序 这是我的application properties文件来指定访问数据库的凭据 spring datasource driverClassName com mysql jdbc Dri
  • OnClick 事件中的 finish() 如何工作?

    我有一个Activity一键退出Activity 通过layout xml我必须设置OnClick事件至cmd exit调用 this finish 效果很好 public void cmd exit View editLayout thi
  • 迁移到 java 17 后有关“每个进程的内存映射”和 JVM 崩溃的 GC 警告

    我们正在将 java 8 应用程序迁移到 java 17 并将 GC 从G1GC to ZGC 我们的应用程序作为容器运行 这两个基础映像之间的唯一区别是 java 的版本 例如对于 java 17 版本 FROM ubuntu 20 04
  • Clip 在 Java 中播放 WAV 文件时出现严重延迟

    我编写了一段代码来读取 WAV 文件 大小约为 80 mb 并播放该文件 问题是声音播放效果很差 极度滞后 你能告诉我有什么问题吗 这是我的代码 我称之为doPlayJframe 构造函数内的函数 private void doPlay f
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • 检查 Android 手机上的方向

    如何查看Android手机是横屏还是竖屏 当前配置用于确定要检索的资源 可从资源中获取Configuration object getResources getConfiguration orientation 您可以通过查看其值来检查方向
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 使用 Flyway 和 Hibernate 的 hbm2ddl 在应用程序的生命周期中管理数据库模式

    我正在开发 Spring Hibernate MySql 应用程序 该应用程序尚未投入生产 我目前使用 Hibernatehbm2ddl该功能对于管理域上的更改非常方便 我也打算用Flyway用于数据库迁移 在未来的某个时候 该应用程序将首
  • 应用程序关闭时的倒计时问题

    我制作了一个 CountDownTimer 代码 我希望 CountDownTimer 在完成时重新启动 即使应用程序已关闭 但它仅在应用程序正在运行或重新启动应用程序时重新启动 因此 如果我在倒计时为 00 10 分钟 秒 时关闭应用程序
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • Keycloak - 自定义 SPI 未出现在列表中

    我为我的 keycloak 服务器制作了一个自定义 SPI 现在我必须在管理控制台上配置它 我将 SPI 添加为模块 并手动安装 因此我将其放在 module package name main 中 并包含 module xml 我还将其放
  • Android JNI C 简单追加函数

    我想制作一个简单的函数 返回两个字符串的值 基本上 java public native String getAppendedString String name c jstring Java com example hellojni He
  • Java - 不要用 bufferedwriter 覆盖

    我有一个程序可以将人员添加到数组列表中 我想做的是将这些人也添加到文本文件中 但程序会覆盖第一行 因此这些人会被删除 如何告诉编译器在下一个空闲行写入 import java io import java util import javax
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons
  • 休眠以持久保存日期

    有没有办法告诉 Hibernate java util Date 应该持久保存 我需要这个来解决 MySQL 中缺少的毫秒分辨率问题 您能想到这种方法有什么缺点吗 您可以自己创建字段long 或者使用自定义的UserType 实施后User
  • java8 Collectors.toMap() 限制?

    我正在尝试使用java8Collectors toMap on a Stream of ZipEntry 这可能不是最好的想法 因为在处理过程中可能会发生异常 但我想这应该是可能的 我现在收到一个我不明白的编译错误 我猜是类型推理引擎 这是

随机推荐

  • Spring源码分析(一)Spring的环境搭建与架构

    目录 一 Spring的基本信息1 1 Spring 概述1 2 架构 二 环境搭建2 1 gradle的安装与配置2 2 Spring源码构建 本图 xff1a 川西旅游中拍摄的 xff08 业余摄影 xff09 官网 xff1a Hom
  • RNA-seq:转录组数据分析处理(上)

    RNA seq xff1a 转录组数据分析处理 xff08 上 xff09 目录 RNA seq xff1a 转录组数据分析处理 xff08 上 xff09 一 流程概括二 准备工作1 fastq测序文件2 注释文件和基因组文件的获取 三
  • STM32串口数据接收 --环形缓冲区

    STM32串口数据接收 环形缓冲区 环形缓冲区简介 在单片机中串口通信是我们使用最频繁的 xff0c 使用串口通信就会用到串口的数据接收与发送 xff0c 环形缓冲区方式接收数据可以更好的保证数据丢帧率第 在通信程序中 xff0c 经常使用
  • Linux下驱动开发

    Linux下驱动开发 1 简介 驱动 xff0c 是指驱动计算机里软件的程序 驱动程序全称设备驱动程序 xff0c 是添加到操作系统中的特殊程序 xff0c 其中包含有关硬件设备的信息 驱动程序是操作系统与硬件连接的桥梁 设备驱动最通俗的解
  • openstack单网卡使用多IP说明、openstack虚拟机IP通网关但同网段IP不互通处理方法

    文章目录 openstack虚拟机IP通网关但同网段IP不互通处理方法问题描述处理方法 Openstack中单网卡使用多ip openstack虚拟机IP通网关但同网段IP不互通处理方法 问题描述 云平台的防火墙虚拟机部署再我们云平台上 x
  • Collections.singletonList使用方法

    方法注释 应用 xff1a 这个方法主要用于只有一个元素的优化 xff0c 减少内存分配 xff0c 无需分配额外的内存 xff0c 可以从SingletonList内部类看得出来 由于只有一个element 因此可以做到内存分配最小化 x
  • 如何修改电脑的MAC地址(手把手更改)

    打开控制面板 xff0c 显示如下 xff0c 然后点击 网络和Internet xff08 windows 43 r xff0c 然后输入control xff0c 按下回车 xff0c 即可打开控制面板 xff09 点击完 网络和Int
  • evo的快速安装Ubuntu 18.04

    由于一键安装成功后打开轨迹后报错 xff1a ERROR evo module evo main traj crashed no logfile written disabled 不会解决 xff0c 索性直接用源码安装方式 xff1a 如
  • 基于 SpringBoot + Vue 的音乐网站系统(源代码+数据库+思路文档)

    一 系统介绍 本项目分为管理员与普通用户两种角色 管理员角色包含以下功能 xff1a 后台对用户 歌曲 歌手 歌单信息的管理 用户角色包含以下功能 xff1a 音乐播放用户登录注册用户信息编辑 头像修改歌单打分歌单 歌曲评论歌单列表 歌手列
  • Linux下PS1设置

    PS1简介 PS1命令是linux系统中的一个全局变量 xff0c 用于定义用户命令行的字符显示 学名为 xff1a 默认提示符 盲猜Power Shell 1 PS1变量 span class token comment shell查看变
  • Linux内存管理

    Linux中的程序都是在进程中执行的 xff0c 而每个进程都有自己的虚拟地址空间 xff0c 进程中的内存操作 xff0c 比如访问 xff0c 插入数据都是在这块虚拟地址空间上操作的 虚拟地址空间 虚拟地址空间是一个进程所使用的虚拟内存
  • Maven库打包解决方案:No plugin found for prefix ‘install’ in the current project and in the plgin groups

    问题描述 我的外部本地包 xff0c 需要打包到我的maven库里 然后报错如下 No plugin found for prefix install in the current project and in the plgin grou
  • Ant Design Blazor表格高度自适应

    Ant Design Blazor表格高度自适应 一 先导入js 在 Host cshtml导入js lt component type 61 34 typeof App 34 render mode 61 34 ServerPrerend
  • Gson临时文件被删除造成的stackOverflowError

    错误内容 今天使用Gson序列化的时候出现了stackOverflowError的错误 xff0c 内容如下 xff1a at span class token class name span class token namespace c
  • tcpdump命令参数说明和使用实例、linux解析公网地址会卡顿一下解决方法

    文章目录 tcpdumptcpdump的参数选项基本返回值查看基本用法抓取指定网络接口的所有流量抓取指定网络接口指定主机地址 IP 域名 的所有流量只取出端口 3333 的联机数据包获取指定协议的数据包 如udp 在网口eth1上抓取源端口
  • Linux系统桌面环境(又称图形界面)有哪些?

    Linux系统有许多不同的图形用户界面 xff08 Graphical User Interface xff0c 简称GUI xff09 xff0c 又称桌面环境 以下几乎涵盖了所有的桌面环境 GNOME xff1a GNOME是Linux
  • 艾里斑大小与像元尺寸的匹配问题

    写给自己看的学习记录 xff1a 光具有波粒二象性 xff0c 由此衍生出了几何光学与衍射光学 在光学设计软件中 xff0c 最常用的判断标准是查看点列图的RMS半径以及MTF图的曲线 xff0c 这两者分别代表了两种传播性质的评价方式 在
  • visual studio 和visual studio code 的区别是什么?

    区别有三 xff1a 区别一 xff1a 含义不一样 Visual Studio xff08 简称VS xff09 是美国微软公司的开发工具包系列产品 xff0c 是一个基本完整的开发工具集 xff0c 它包括了整个软件生命周期中所需要的大
  • SpringBoot框架连接数据库实战(超详细)

    SpringBoot框架用于实战 xff08 可直接下载源码进行拓展 xff09 步骤 xff1a 创建数据库mr wen xff0c 新建两条测试数据创建SpringBoot项目编写代码块 xff0c 并进行单元测试 创建数据库mr we
  • JAVA课后习题(一)——我是歌手

    大家好 xff01 我是小黄 xff0c 很高兴又跟大家见面啦 xff01 今天更新的是 xff1a JAVA程序设计课后习题 我是歌手往期检索 xff1a 程序设计学习笔记 目录 创建时间 xff1a 2020年10月23日 软件版本 x