当前位置: 首页 > news >正文

接口经典题目

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.lryc.cn/news/143587.html

相关文章:

  • 2023-8-28 n-皇后问题
  • 基于Visual studio创建API项目
  • leetcode做题笔记107. 二叉树的层序遍历 II
  • cdq优化背包转移:GYM104531I
  • STL list基本用法
  • 【ArcGIS微课1000例】0073:ArcGIS探索性回归分析案例
  • docker使用安装教程
  • 【SpringSecurity】五、UserDetails接口和UserDetailsService接口
  • 了解ET模式和LT模式:Linux网络编程中的事件触发方式
  • 内部类和匿名类
  • RISC-V 中国峰会 | OpenMPL引人注目,RISC-V Summit China 2023圆满落幕
  • 时空数据挖掘精选23篇论文解析【AAAI 2023】
  • MySQL 存储过程和函数
  • ClickHouse 使用
  • 通过SSH协议连接远程服务器(Linux)
  • IPC之System V vs POSIX
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR安全检查的相关问题及解决方法
  • 分布式定时任务
  • 国标GB28181视频平台EasyGBS视频监控平台无法播放,抓包返回ICMP排查过程
  • 计算机毕设 基于深度学习的图像超分辨率重建 - opencv python cnn
  • 基于Java+SpringBoot+Vue前后端分离科研工作量管理系统设计和实现
  • Java复习-17-Object类
  • 数据结构--树4.2.4(树、森林即二叉树的相互转换(仅供参考))
  • MyBatis-Plus 总结
  • 【CSS】轮播图案例开发 ( 基本设置 | 子绝父相 | 浏览器水平居中 | 圆角设置 | 绝对定位居中设置 )
  • leetcode做题笔记111. 二叉树的最小深度
  • ubuntu安装Google Chrome 浏览器和ChromeDriver
  • 猫头虎博主赠书一期:《Kubernetes原生微服务开发》
  • QtC++ 设计模式(四)——策略模式
  • LVS集群和分布式概念