接口经典题目

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 {
    @Override
    public void open() { //重写
        System.out.println("打开鼠标");
    }

    @Override
    public void close() { //重写
        System.out.println("关闭鼠标");
    }

    public void Click() { //鼠标点击功能
        System.out.println("鼠标点击");
    }
}

🍎3.Keyboard类🍎

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

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

public class Keyboard implements USB {
    @Override
    public void open() {
        System.out.println("打开键盘");
    }

    @Override
    public 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 {
    @Override
    public void open() {
        System.out.println("打开电脑");
    }

    @Override
    public 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.mfbz.cn/a/87266.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

供应链安全和第三方风险管理:讨论如何应对供应链中的安全风险,以及评估和管理第三方合作伙伴可能带来的威胁

第一章:引言 在当今数字化时代,供应链的安全性越来越受到重视。企业的成功不仅仅依赖于产品和服务的质量,还取决于供应链中的安全性。然而,随着供应链越来越复杂,第三方合作伙伴的参与也带来了一系列安全风险。本文将…

RPC和HTTP协议

RPC 全称(Remote Procedure Call),它是一种针对跨进程或者跨网络节点的应用之间的远程过程调用协议。 它的核心目标是,让开发人员在进行远程方法调用的时候,就像调用本地方法一样,不需要额外为了完成这个交…

[JavaWeb]【十】web后端开发-SpringBootWeb案例(配置文件)

目录 一、参数配置化 1.1 问题分析 1.2 问题解决(application.properties) 1.2.1 application.properties 1.2.2 AliOSSUtils 1.2.3 启动服务-测试 二、yml配置文件 2.1 配置格式 2.1.1 新增 application.yml 2.1.2 启动服务 2.2 XML与prope…

linux 同时kill杀死多进程实践

使用场景 当程序中有使用到多进程且进程数较多的情况,如下图,且需要通过控制台杀死所有的 GSM_run.py 的进程时,利用 kill 命令一个一个的去结束进程是及其耗时且繁琐的,这时就需要我们的kill多进程的命令工作了。 批量 Kill 进程…

【ARM】Day9 cortex-A7核I2C实验(采集温湿度)

1. 2、编写IIC协议,采集温湿度值 iic.h #ifndef __IIC_H__ #define __IIC_H__ #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_rcc.h" #include "led.h" /* 通过程序模拟实现I2C总线的时序和协议* GPIOF ---> AHB4* I2C1_S…

WiFi天线和NB-IoT天线不通用

表面看起来完全一样。但是把WiFi天线插到NB-IoT设备后,信号弱了很多。还导致设备反复重启

轮转数组——C语言

题目: 解法1:把最后一位数字移动到数组的第一位,然后将第二位开始的每一位往前移动一位 这种方法的时间复杂度O(N^2) 空间复杂度O(1) rotate(int* arr, int n, int k) {k % n;int i 0;for (i …

Prompt本质解密及Evaluation实战(一)

一、基于evaluation的prompt使用解析 基于大模型的应用评估与传统应用程序的评估不太一样,特别是基于GPT系列或者生成式语言模型,因为模型生成的内容与传统意义上所说的内容或者标签不太一样。 以下是借用了ChatGPT官方的evaluation指南提出的对结果的具…

Star History 月度开源精选|Llama 2 及周边生态特辑

7 月 18 日,Meta 发布了 Llama,大语言模型 Llama 1 的进阶版,可以自由免费用于研究和商业,支持私有化部署。 所以本期 Star History 的主题是:帮助你快速把 Llama 2 在自己机器上跑起来的开源工具,无论你的…

多环境开发

多环境 1、多环境开发(YAML版) 小结: 多环境开发需要设置若干种常用环境,例如开发、生产、测试环境yaml格式中设置多环境使用—区分环境设置边界每种环境的区别在于加载的配置属性不同启用某种环境时需要指定启动时使用该环境 …

高手进阶之路---pyqt自定义信号

高手进阶之路—pyqt自定义信号 1.思考问题为什么要自定义信号,qt5本身已有信号槽函数 # pushButton 被clicked的时候connect 函数print self.pushButton.clicked.connect(self.print)def print(self):print("我被点击了")或者使用 # 需要引入 pyqtSlo…

使用ffmpeg将WebM文件转换为MP4文件的简单应用程序

tiktok网上下载的short视频是webm格式的,有些程序无法处理该程序,比如roop程序,本文介绍了如何使用wxPython库创建一个简单的GUI应用程序,用于将WebM文件转换为MP4文件。这个应用程序使用Python编写,通过调用FFmpeg命令…

docker: /lib64/libc.so.6: version `GLIBC_2.32‘ not found (required by docker)

Linux环境 Ubuntu 22.04 docker 最新版 jenkins docker 版本(以下版本都会报错 jenkins/jenkins:centos7 jenkins/jenkins:lts-centos7 jenkins/jenkins:ltsdocker-compose.yml配置 version: 3.6 services:gitlab:image: twang2218/gitlab-ce-zhrestart: alwayscontainer_nam…

C#实现简单TCP服务器和客户端网络编程

在C#中进行网络编程涉及许多类和命名空间,用于创建和管理网络连接、传输数据等。下面是一些主要涉及的类和命名空间: System.Net 命名空间:这个命名空间提供了大部分网络编程所需的类,包括: IPAddress:用于…

第七章:借阅管理【基于Servlet+JSP的图书管理系统】

借阅管理 1. 借书卡 1.1 查询借书卡 借书卡在正常的CRUD操作的基础上,我们还需要注意一些特殊的情况。查询信息的时候。如果是管理员则可以查询所有的信息,如果是普通用户则只能查看自己的信息。这块的控制在登录的用户信息 然后就是在Dao中处理的时候需…

Linux 挂载局域网内共享目录

Linux 挂载局域网内共享目录 1、安装samba服务端2、samba服务端配置3、添加samba服务访问账户4、防火墙5、重启服务6、windows访问7、linux访问 1、安装samba服务端 sudo apt-get install -y samba yum install -y samba2、samba服务端配置 vim /etc/samba/smb.conf在文档尾部…

按钮权限控制

搜索关键字&#xff1a; 自定义指令传参| "自定义指令""dataset"|自定义指令dataset| "Vue""directives"|vue按钮权限实现 1、完整代码&#xff1a; <template> <div> <el-breadcrumb separator-class"el-icon…

常见前端面试之VUE面试题汇总五

13. assets 和 static 的区别 相同点&#xff1a; assets 和 static 两个都是存放静态资源文件。项目中所 需要的资源文件图片&#xff0c;字体图标&#xff0c;样式文件等都可以放在这两个文件 下&#xff0c;这是相同点 不相同点&#xff1a;assets 中存放的静态资源文件在…

IoTDB 集群环境搭建

什么是IoTDB IoTDB&#xff08;Internet of Things Database&#xff09;是一个专门设计用于存储和管理大规模物联网&#xff08;IoT&#xff09;数据的开源时序数据库系统。它专注于高效地存储、查询和分析时间序列数据&#xff0c;特别适用于物联网应用中的大量实时数据。 Io…

视频云存储平台EasyCVR视频汇聚平台关于机电设别可视化管理平台可实施设计方案

随着工业化进程的不断发展&#xff0c;机电设备在各行各业中扮演着重要的角色。然而&#xff0c;由于机电设备种类繁多、数量庞大&#xff0c;包括生产机械、建筑器械、矿用器械、制药器械、食品机械等&#xff0c;传统的手动管理方式已经无法满足对设备进行精细化管理的需求。…