接口经典题目

White graces:个人主页

🙉专栏推荐:《Java入门知识》🙉

🙉 内容推荐:继承与组合:代码复用的两种策略🙉

🐹今日诗词:人似秋鸿来有信,事如春梦了无痕。🐹


目录

🌸一.题目🌸

🌸二.创建接口和类文件🌸

🍎1.USB接口🍎

🍎2.Mouse类🍎

🍎3.Keyboard类🍎

🌸三.笔记本类🌸

🍎1.不使用接口🍎

🍎2.使用接口🍎

⭐四.为什么这样写USBequipment方法⭐

 🌸三.结语+美图分享🌸


🌸一.题目🌸

📚请实现笔记本电脑使用USB鼠标、USB键盘的例子

📕1. USB接口:包含打开设备、关闭设备功能

📗2. 鼠标类:实现USB接口,并具备点击功能

📘3. 键盘类:实现USB接口,并具备输入功能

📙4. 笔记本类:包含开机功能、关机功能、使用USB设备功能

🌸二.创建接口和类文件🌸

🍀题目有一个接口和三个🍀

​​

 

🍎1.USB接口🍎

🍀题目要求: USB接口包含打开设备、关闭设备功能🍀

public interface USB {void open();  //打开设备void close(); //关闭设备
}

​​

🍎2.Mouse类🍎

🍀题目要求: 鼠标类实现USB接口,并具备点击功能🍀

📖鼠标类和USB接口是(implements)实现关系,并且鼠标类有自己的Click(点击)功能📖

public class Mouse implements USB {@Overridepublic void open() { //重写System.out.println("打开鼠标");}@Overridepublic void close() { //重写System.out.println("关闭鼠标");}public void Click() { //鼠标点击功能System.out.println("鼠标点击");}
}

🍎3.Keyboard类🍎

🍀题目要求: 键盘类实现USB接口,并具备输入功能🍀

📖键盘类和USB接口是(implements)实现关系,并且有自己的Input(输入)功能📖

public class Keyboard implements USB {@Overridepublic void open() {System.out.println("打开键盘");}@Overridepublic void close() {System.out.println("关闭键盘");}public void Input() {System.out.println("键盘输入");}}

🌸三.笔记本类🌸

🍀题目要求: 笔记本类包含开机功能、关机功能、使用USB设备功能🍀

 📖这里没有要求实现接口,我们正常code就行了,用接口写也可以📖 

🍎1.不使用接口🍎

public class Laptop {public void Poweron() {System.out.println("打开电脑");}public void Poweroff() {System.out.println("关闭电脑");}public void USBequipment(USB usb) { //这串代码为什么这样写待会解释usb.open();if (usb instanceof Mouse) {Mouse mouse = (Mouse) usb;mouse.Click();}if (usb instanceof Keyboard) {Keyboard keyboard = (Keyboard)usb;keyboard.Input();}usb.close();}
}

🍀以键盘功能为例子,运行结果如下🍀

​​

 

🍎2.使用接口🍎

public class Laptop implements USB {@Overridepublic void open() {System.out.println("打开电脑");}@Overridepublic void close() {System.out.println("关闭电脑");}public void USBequipment(USB usb) {usb.open();if (usb instanceof Mouse) {Mouse mouse = (Mouse) usb;mouse.Click();}if (usb instanceof Keyboard) {Keyboard keyboard = (Keyboard)usb;keyboard.Input();}usb.close();}
}

🍀以鼠标功能为例子,运行结果🍀

​​

 

⭐四.为什么这样写USBequipment方法⭐

🍀为什么这样写USBequipment方法🍀

​​ 

 🎄重写函数调用知识链接: Java多态(含有重写函数调用)🎄

🎄instanceof关键字知识链接: Java多态(instanceof关键字)🎄


 🌸三.结语+美图分享🌸

🎄✨🎆谢谢你的阅读和耐心!祝愿你在编程的道路上取得更多的成功与喜悦!"🎆✨🎄

⭐️点赞收藏加关注,学习知识不迷路⭐️

🎉✔️💪🎉✔️💪🎉✔️💪🎉✔️💪🎉

👍😏⛳️ 点赞☀️收藏 ⭐️ 关注!😏👍

👍😏⛳️ 点赞☀️收藏 ⭐️ 关注!😏👍

👍😏⛳️ 点赞☀️收藏 ⭐️ 关注!😏👍

🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️🙆‍♂️

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

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

相关文章

Go 第三方库引起的线上问题、如何在线线上环境进行调试定位问题以及golang开发中各种问题精华整理总结

Go 第三方库引起的线上问题、如何在线线上环境进行调试定位问题以及golang开发中各种问题精华整理总结。 01 前言 在使用 Go 语言进行 Web 开发时,我们往往会选择一些优秀的库来简化 HTTP 请求的处理。其中,go-resty 是一个被广泛使用的 HTTP 客户端。…

win10家庭版远程桌面补丁_rdp wrapper

RDP Wrapper Library 就是可以帮你在 Windows 7、Windows 8、Windows 10 家庭版中打开远程桌面的工具。 1、把电脑上打开的安全软件与杀毒软件都关掉,因为这个远程桌面补丁会修改系统文件,所以安全软件可能会拦截。 2、下载RDP Wrapper Library补丁压缩…

windows安装mysql8.0.34的压缩包

文章目录 目录 文章目录 前言 一、下载安装包zip格式 二、使用步骤 总结 前言 一、下载安装包zip格式 MySQL :: Begin Your Download 二、使用步骤 解压缩之后在解压之后的目录里创建data和my.ini my.ini内容 # 设置mysql客户端连接服务端时默认使用的端口 port3306#默认…

Wlan——锐捷零漫游网络解决方案以及相关配置

目录 零漫游介绍 一代零漫游 二代单频率零漫游 二代双频率零漫游 锐捷零漫游方案总结 锐捷零漫游方案的配置 配置无线信号的信道 开启关闭5G零漫游 查看配置 零漫游介绍 普通的漫游和零漫游的区别 普通漫游 漫游是由一个AP到另一个AP或者一个射频卡到另一个射频卡的漫…

14-redis

一 Redis概述 1 为什么要用NoSQL 单机Mysql的美好年代 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以 轻松应付。在那个时候,更多的都是静态网页,动态交互类型的网站不多。 遇到问题: 随着用户数的增长…

【Unity】【Amplify Shader Editor】ASE入门系列教程第二课 硬边溶解

黑色为0,白色为1 新建材质(不受光照影响) 拖入图片 设置 添加节点: 快捷键:K 组合通道:快捷键 V 完成图

设计模式入门笔记

1 设计模式简介 在IT这个行业,技术日新月异,可能你今年刚弄懂一个编程框架,明年它就不流行了。 然而即使在易变的IT世界也有很多几乎不变的知识,他们晦涩而重要,默默的将程序员划分为卓越与平庸两类。比如说&#xff…

不会用这个工具,你的Linux服务器就是个摆设!

大家好,我的网工朋友 在运维这一块,没有工具可谓是寸步难行。 一个好的Linux运维,为了提升自己的工作效率,免不得会找一些适合自己业务需求的工具,用起来工作效率高,工作幸福指数直线上升。 今天整理了几…

每日一题 57. 插入区间

读研了,开始用python刷题 今天的题目是力扣 每日一题 57. 插入区间 难度:中等 思路: 处理新区间起点,要么在两个老区间之间,要么被一个老区间包含处理新区间中点,同起点一样 我的代码如下 class Solut…

大数据处理平台的架构演进:从批处理到实时流处理

文章目录 批处理架构:实时流处理架构:混合架构: 🎈个人主页:程序员 小侯 🎐CSDN新晋作者 🎉欢迎 👍点赞✍评论⭐收藏 ✨收录专栏:大数据系列 ✨文章内容:大数…

数据之美:探索数据可视化设计的奇妙世界

在信息时代的浪潮中,海量的数据正在影响着我们的生活和决策。然而,数据本身虽然有力量,但如何将其有机地呈现给我们,却成为了一个挑战。数据可视化设计应运而生,它不仅让枯燥的数字变得生动,还带来了一场视…

vue 简单实验 v-on html事件绑定

1.代码 <script src"https://unpkg.com/vuenext" rel"external nofollow" ></script> <div id"event-handling"><p>{{ message }}</p><button v-on:click"reverseMessage">反转 Message</but…