Java中面向接口编程的简单案例(电脑、鼠标、键盘、USB接口)
试题:
笔记本电脑(laptop)通常具备使用USB设备的功能。
在生产时,笔记本都预留了可以插入USB设备的USB接口, 但具体是什么USB设备,笔记本厂商并不关心,
只要符合USB规格的设备都可以。
定义USB接口,具备最基本的开启功能和关闭功能。
鼠标和键盘要想能在电脑上使用,那么鼠标和键盘也必须遵守 USB规范,实现USB接口,
否则鼠标和键盘的生产出来也无法使用。(使用面向对象思想编程:接口,多态等)
USB接口类
/*USB接口*/
public interface USB {// 开启方法void open();// 关闭方法void close();
}
鼠标类
/*鼠标类 实现USB接口*/
public class Mouse implements USB {// 实现开启方法public void open(){System.out.println("鼠标开启");}// 实现关闭方法public void close(){System.out.println("鼠标关闭");}
}
键盘类
/*键盘类 实现USB接口*/
public class Keyboard implements USB {// 实现开启方法public void open(){System.out.println("键盘开启");}// 实现关闭方法public void close(){System.out.println("键盘关闭");}
}
电脑类
/*电脑类*/
public class Laptop {// 笔记本电脑有一个USB属性private USB usb; // 面向接口编程// 构造方法public Laptop() {}public Laptop(USB usb) {this.usb = usb;}// setter and getterpublic void setUsb(USB usb) {this.usb = usb;}public USB getUsb() {return usb;}
}
测试程序
/*测试程序*/
public class Test {public void static void main(String[] args) {// 创建鼠标对象USB mouse = new Mouse();// 创建键盘对象USB keyboard = new Keyboard();// 创建笔记本电脑对象Laptop laptop = new Laptop();// 给笔记本配置一个鼠标laptop.setUsb(mouse);// 启动鼠标laptop.getUsb().open();// 关闭鼠标laptop.getUsb().close();// 给笔记本配置一个键盘laptop.setUsb(keyboard);// 启动键盘laptop.getUsb().open();// 关闭键盘laptop.getUsb().close();}
}
运行结果
鼠标开启
鼠标关闭
键盘开启
键盘关闭
Java中面向接口编程的简单案例(电脑、鼠标、键盘、USB接口)相关推荐
- java中List Stream的简单使用
java中List Stream的简单使用 一,api入门案例 实体类 public class Person {private int id;private String name;private ...
- Java中主线程如何捕获子线程抛出的异常
Java中主线程如何捕获子线程抛出的异常 参考文章: (1)Java中主线程如何捕获子线程抛出的异常 (2)https://www.cnblogs.com/jpfss/p/10272885.html ...
- Java中利用socket实现简单的服务端与客户端的通信(中级)——实现任意双向通信
本文计划采用socket实现客户端和服务端的任意双向通信,即客户端可以随时给服务端发消息,服务端也可以随时给客户端发消息,最终结果就是一个类似与QQ的聊天软件的功能. 以下代码可以直接拷贝到Eclip ...
- Java中利用socket实现简单的服务端与客户端的通信(基础级)
在上一篇文章中,简单的介绍了java中入门级的socket编程,简单的实现了客户端像服务器端发送数据,服务器端将数据接收并显示在控制台,没有涉及多线程.上一篇文章的链接:Java中利用socket实现 ...
- java 向nodejs 发送请求简单案例
java 向nodejs 发送请求简单案例 最近在做nodejs的东西,一直不明白java如何与nodejs建立连接,下面写了一个简单demo: nodejs端: var http = requir ...
- JAVA中一维数组的简单使用!
JAVA中一维数组的简单使用! 一.数组的概述 1.数组的常见概念: 数组名 下标(或索引) 元素 数组的长度 2. 数组本身是引用数据类型,而数组中的元素可以是任何数据类型,包括 基本数据类型和引用 ...
- Java中使用JNA实现全局监听Linux键盘事件
title: Java中使用JNA实现全局监听Linux键盘事件 date: 2019-05-03 19:08:00 Java中使用JNA实现全局监听Linux键盘事件 用JNA实现的键盘监听,在Wi ...
- Java中使用JNA实现全局监听Windows键盘事件
title: Java中使用JNA实现全局监听Windows键盘事件 date: 2019-05-02 21:55:00 Java中使用JNA实现全局监听Windows键盘事件 前言: 一直打算做一个 ...
- Synergy工具 共享Windows系统电脑Linux系统电脑 鼠标键盘
Synergy工具 共享Windows系统电脑Linux系统电脑 鼠标键盘 相关软件相关文章发表评论 来源:西西整理时间:2014/11/6 15:03:11字体大小:A-A+ 作者:西西点击:24评 ...
- 用鼠标关闭计算机步骤,win10系统电脑鼠标键盘设置快速关机怎么操作
电脑关机的时候,其实我们可以设置一个快速的方法,就是从键盘或者鼠标上来设置,下面是学习啦小编为大家介绍win10系统电脑鼠标键盘快速关机的设置方法,欢迎大家阅读. win10系统电脑鼠标键盘快速关机的 ...
最新文章
- 编程入门python语言是多大孩子学的-不学点编程,将来怎么给孩子辅导作业―Python新手入门教程...
- 百度黄埔学院学员开题 | ‘首席 AI 架构师’实战之旅开启!
- 读取txt文件赋值到DataGridView中
- VB如何判断文件正被占用/已被打开
- javaee互联网轻量级框架整合开发_企业开发:Spring框架的简易、高效切入篇
- mysql show命令原理_MySQL show processlist;命令详解
- c语言整数转浮点数_浮点数的秘密
- Spring Boot 2.0.3 修改 Servlet 容器(服务器)配置
- Citrix MCS桌面管理技术解读
- 澳门中区停电2小时影响396户 1人困电梯后获救
- word中a3转a4排版打印
- 关于电脑端微信小程序不能启动解决
- SONY笔记本电脑SVS131100C系统重装后Fn键功能问题
- 小孩终生教育工程(人生管理):有些东西比努力比钱更重要
- 手把手教你用Python采集腾讯招聘数据
- Ubuntu 和 CentOS 根据命令查找软件包
- Lorem在HTML的使用
- 同期收治患者住院天数_速看!二级公立中医医院绩效考核指标发布(附34个指标)...
- RGB归一化及高效实现
- python3实用小工具--wifi路由器厂商查看器(附源码)
热门文章
- 配置案例| Modbus转Profinet网关与ARX-MA100微型空气质量监测系统连接
- 【Java】soap协议发送webservice请求工具类
- 解决模拟器Emulator: emulator: ERROR: x86 emulation currently requires hardware acceleration!问题
- 当程序员变成软件项目经理
- 什么是 0day 漏洞,1day 漏洞和 nday 漏洞?
- 虚拟仿真实验项目所需服务器,工程结构虚拟仿真实验室
- 黑人抬棺html网站源码
- win10关闭windows聚焦_关于Windows 10 Windows聚焦功能失效
- 计算机电路计算公式,电路中相关计算公式.doc
- 第二课:更换国内下载源(阿里源为例)