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课后习题(一)——我是歌手 的相关文章

  • Grails 3.x bootRun 失败

    我正在尝试在 grails 3 1 11 中运行一个项目 但出现错误 失败 构建失败并出现异常 什么地方出了错 任务 bootRun 执行失败 进程 命令 C Program Files Java jdk1 8 0 111 bin java
  • Java new Date() 打印

    刚刚学习 Java 我知道这可能听起来很愚蠢 但我不得不问 System out print new Date 我知道参数中的任何内容都会转换为字符串 最终值是 new Date 返回对 Date 对象的引用 那么它是如何打印这个的呢 Mo
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • 无法展开 RemoteViews - 错误通知

    最近 我收到越来越多的用户收到 RemoteServiceException 错误的报告 我每次给出的堆栈跟踪如下 android app RemoteServiceException Bad notification posted fro
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • 控制Android的前置LED灯

    我试图在用户按下某个按钮时在前面的 LED 上实现 1 秒红色闪烁 但我很难找到有关如何访问和使用前置 LED 的文档 教程甚至代码示例 我的意思是位于 自拍 相机和触摸屏附近的 LED 我已经看到了使用手电筒和相机类 已弃用 的示例 但我
  • JavaMail 只获取新邮件

    我想知道是否有一种方法可以在javamail中只获取新消息 例如 在初始加载时 获取收件箱中的所有消息并存储它们 然后 每当应用程序再次加载时 仅获取新消息 而不是再次重新加载它们 javamail 可以做到这一点吗 它是如何工作的 一些背
  • 操作错误不会显示在 JSP 上

    我尝试在 Action 类中添加操作错误并将其打印在 JSP 页面上 当发生异常时 它将进入 catch 块并在控制台中打印 插入异常时出错 请联系管理员 在 catch 块中 我添加了它addActionError 我尝试在jsp页面中打
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • 使用Caliper时如何指定命令行?

    我发现 Google 的微型基准测试项目 Caliper 非常有趣 但文档仍然 除了一些示例 完全不存在 我有两种不同的情况 需要影响 JVM Caliper 启动的命令行 我需要设置一些固定 最好在几个固定值之间交替 D 参数 我需要指定
  • Java Integer CompareTo() - 为什么使用比较与减法?

    我发现java lang Integer实施compareTo方法如下 public int compareTo Integer anotherInteger int thisVal this value int anotherVal an
  • 无法捆绑适用于 Mac 的 Java 应用程序 1.8

    我正在尝试将我的 Java 应用程序导出到 Mac 该应用程序基于编译器合规级别 1 7 我尝试了不同的方法来捆绑应用程序 1 日食 我可以用来在 Eclipse 上导出的最新 JVM 版本是 1 6 2 马文 看来Maven上也存在同样的
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • 如何修复 JNLP 应用程序中的“缺少代码库、权限和应用程序名称清单属性”?

    随着最近的 Java 更新 许多人都遇到了缺少 Java Web Start 应用程序的问题Codebase Permissions and Application name体现属性 尽管有资源可以帮助您完成此任务 但我找不到任何资源综合的
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview

随机推荐

  • 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