【精选】Java面向对象进阶——接口和抽象类的案例

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~
✨主攻领域:【渗透领域】【应急响应】 【Java】 【VulnHub靶场复现】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

目录

编写带有接口和抽象类的标准Javabean类

画图

代码


编写带有接口和抽象类的标准Javabean类

我们现在有乒乓球运动员和篮球运动员,乒乓球教练和篮球教练。

为了出国交流,跟乒乓球相关的人员都需要学习英语。

请用所有知识分析,在这个案例中,哪些是具体类,哪些是抽象类,哪些是接口?

乒乓球运动员:姓名,年龄,学打乒乓球,说英语

篮球运动员:姓名,年龄,学打篮球

乒乓球教练:姓名,年龄,教打乒乓球,说英语

篮球教练:姓名,年龄,教打篮球

画图

代码

父类:person

package demon8;//因为现在我不想让外界去直接创建人的对象
//因为直接去创建顶层父类人的对象此时是没有意义的
//所以我就把他写为抽象的
public abstract class person {private String name;private int age;public person() {}public person(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

子类:sporter

package demon8;public abstract class sporter extends person{public sporter() {}public sporter(String name, int age) {super(name, age);}public abstract void study();
}

子类:extends

package demon8;public abstract class coach extends person{public coach() {}public coach(String name, int age) {super(name, age);}public abstract void teach();
}

接口english

package demon8;public interface english {public abstract void speakenglish();
}

子子类:pinpansporter

package demon8;public class pinpansporter extends sporter implements english{public pinpansporter() {}public pinpansporter(String name, int age) {super(name, age);}@Overridepublic void speakenglish() {System.out.println("乒乓球运动员在说英语");}@Overridepublic void study() {System.out.println("乒乓球运动员在学习打乒乓球");}
}

子子类:basketballsporter

package demon8;public class basketballsporter extends sporter {public basketballsporter() {}public basketballsporter(String name, int age) {super(name, age);}@Overridepublic void study() {System.out.println("篮球运动员在学习打篮球");}
}

子子类:pinpancoach

package demon8;public class pinpancoach extends coach implements english{public pinpancoach() {}public pinpancoach(String name, int age) {super(name, age);}@Overridepublic void teach() {System.out.println("乒乓球教练在教如何打乒乓球");}@Overridepublic void speakenglish() {System.out.println("乒乓球教练正在学习说英语");}
}

子子类:basketballcoach

package demon8;public class basketballcoach extends coach{public basketballcoach() {}public basketballcoach(String name, int age) {super(name, age);}@Overridepublic void teach() {System.out.println("篮球教练正在教如何打篮球");}
}

测试类:test

package demon8;public class test {public static void main(String[] args) {//创建对象pinpansporter pps = new pinpansporter("马宁",28);System.out.println(pps.getName()+ "," + pps.getAge());pps.speakenglish();pps.study();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/689428.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大厂Java面试题】简问简答篇

什么是Java中的内存模型(Memory Model)?请解释一下主内存(Main Memory)和工作内存(Working Memory)的概念。 答:Java内存模型定义了多线程程序中共享变量的访问规则。主内存是所有线程共享的内存区域,而工作内存是每个线程独享的内存区域。 说说Java中的垃圾回收(Gar…

【程序员英语】The Distinctions Between “Yet“ and “But“(英语中“Yet“和“But“的区别)

文章目录 The Distinctions Between "Yet" and "But"("Yet"和"But"的区别)Overview of "Yet" and "But"("Yet" 和 "But" 的概述)Definition of…

scss配置主题

$themes: (light: (font_color: #fff,),dark: (font_color: #000,), );mixin themeify {each $theme-name, $theme-map in $themes {//!global 把局部变量强升为全局变量$theme-map: $theme-map !global;//判断html的data-theme的属性值 #{}是sass的插值表达式//& sass嵌套…

『运维备忘录』之 SSH 命令详解

运维人员不仅要熟悉操作系统、服务器、网络等知识,甚至对于开发相关的也要有所了解。很多运维工作者可能一时半会记不住那么多命令、代码、方法、原理或者用法等等。这里我将结合自身工作,持续给大家更新运维工作所需要接触到的知识点,希望大…

C++学习:list

1.list的定义和结构 list的使用频率不高,在做题时几乎遇不到需要使用list的情景。list是一种双向链表容器,它是标准模板库(STL)提供的一种序列容器。list容器以节点(node的形式存储元素,并使用指针将这些节点链接在一起,形成一个…

苹果电脑深度清理工具CleanMyMac X2025中文版

苹果电脑用户们,你们是否经常感到你们的Mac变得不再像刚拆封时那样迅速、流畅?可能是时候对你的苹果电脑进行一次深度清理了。在这个时刻,拥有一些高效的深度清理工具就显得尤为重要。今天,我将介绍几款优秀的苹果电脑深度清理工具…

java的泛型【详解】

定义类、接口、方法时&#xff0c;同时声明了一个或者多个类型变量&#xff08;如&#xff1a;<E>&#xff09; &#xff0c;称为泛型类、泛型接口&#xff0c;泛型方法、它们统称为泛型。 作用&#xff1a;泛型提供了在编译阶段约束所能操作的数据类型&#xff0c;并自…

【Python】【Pycharm】Python Script头文件设置

1、步骤&#xff1a;File->settings->Editor->File and CodeTemplates->Python Script 2、复制粘贴以下代码&#xff0c;应用即可&#xff1a; #!/usr/bin/env python # -*- coding: utf-8 -*-# Time :${DATE} ${TIME} # Author : admin # Site :${SITE} …

数据库应用:kylin 部署 达梦数据库DM8

目录 一、实验 1.环境 2.部署前规划 3.部署达梦数据库DM8 4.创建数据库及数据库事例管理 5.达梦数据库的基本操作 二、问题 1.xhost命令报错 2.执行安装程序DMInstall.bin 报错 3.解压安装程序报错 4.安装程序找不到文件 5.图像化界面打不开 6.安装内存太小 7.打开…

unity中实现3D物体在UI前方

在Unity中&#xff0c;如果你想要将3D物体显示在UI的前方&#xff0c;可以通过Canvas和RawImage来实现。以下是一些步骤&#xff1a; 创建Canvas&#xff1a; 在场景中创建一个Canvas对象。你可以在Hierarchy视图中右键点击&#xff0c;选择UI > Canvas&#xff0c;或者在创…

MySQL中year()和month()函数解析与输出示例详解

摘要 在MySQL中&#xff0c;year()和month()函数是用于从日期或日期时间类型的数据中提取年份和月份的常用函数。本文将详细介绍这两个函数的底层逻辑&#xff0c;包括日期格式的识别和相应值的获取&#xff0c;并提供实例和输出结果作为示例。 1. year()函数的底层逻辑 MySQL…

【HarmonyOS】【DevEco ohpm ERROR: NOTFOUND package “@ohos/hypium“如何解决

参考 &#xff1a;&#xff08;无效&#xff09; 华为开发者论坛 DevEco创建项目时的错误解决_6 月 优质更文活动_路北路陈_InfoQ写作社区 解决&#xff1a; HormonyOS-DevEco Studio新建空项目ERROR解决_oh_modules\ohos\hypium-CSDN博客 将 .ohpm文件夹中的hypium文件夹复…

【Node-RED】安全登陆时,账号密码设置

【Node-RED】安全登陆时&#xff0c;账号密码设置 前言实现步骤密码生成setting.js 文件修改 安全权限 前言 Node-RED 在初始下载完成时&#xff0c;登录是无账号密码的。基于安全性考虑&#xff0c;本期博文介绍在安全登陆时&#xff0c;如何进行账号密码设置。当然&#xff…

AI告诉你怎么关闭Windows系统的自动更新的一般步骤——以Windows 10为例

在Windows系统中&#xff0c;彻底关闭自动更新的步骤可能会随着操作系统的版本而有所不同。以下是适用于大多数Windows版本&#xff08;如Windows 10&#xff09;的关闭自动更新的一般步骤&#xff1a; 方法一&#xff1a;使用组策略编辑器 按下 Win R 键打开运行对话框&…

相机图像质量研究(35)常见问题总结:图像处理对成像的影响--运动噪声

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

备战蓝桥杯 Day5

1191&#xff1a;流感传染 【题目描述】 有一批易感人群住在网格状的宿舍区内&#xff0c;宿舍区为n*n的矩阵&#xff0c;每个格点为一个房间&#xff0c;房间里可能住人&#xff0c;也可能空着。在第一天&#xff0c;有些房间里的人得了流感&#xff0c;以后每天&#xff0c;得…

计算最大值和最小值的差值

计算最大值和最小值的差值 . 计算最大值和最小值的差值题目描述:解法思路:解法代码: 题目描述: 输入10个整数&#xff0c;写代码找出其中最大值和最小值&#xff0c;计算最大值和最小值的差&#xff0c;并打印出差值结果 测试1&#xff1a;输入&#xff1a;1 2 3 4 5 6 7 8 9 …

【python】python入门之计算

“数字”&#xff1a; 介绍一下不同形式的数字们 字符串“6”数字6浮点数6.0 注意&#xff1a;输入时的内容自定义为字符串&#xff0c;需要用int&#xff08;&#xff09;进行强制转换 优先级&#xff1a; 常见优先级如下&#xff08;优先级指的是一个算式中先算的部分&…

产品经理学习-产品运营《流程管理》

如何进行流程管理 信息可视化 甘特图-流程管理思维导图-方案讨论原型图-活动文档 明确责任制 分工明确&#xff0c;关键环境有主负责人通过时间倒推督促管理 沟通技巧 明确共同利益以结果激励做好信息同步 如何进行监控活动效果 监控活动的效果是要监控数据 活动每个环境的…

二叉树相关算法需了解汇总-基础算法操作

文章目录 144.二叉树的前序遍历145.二叉树的后序遍历94.二叉树的中序遍历102.二叉树的层序遍历107.二叉树的层次遍历倒序199.二叉树的右视图637.二叉树的层平均值429.N叉树的层序遍历515.在每个树行中找最大值116.填充每个节点的下一个右侧节点指针104.二叉树的最大深度111.二叉…