[精华帖?]滑稽之谈|||

题目:

模拟电脑USB功能设备使用

1.定义USB接口,具备最基本的开启功能和关闭功能

2.定义电脑类,具有开机、关机以及使用usb设备功能

3.鼠标类、具有usb功能,并具有额外的点击功能

4.键盘类,具有usb功能,并具有额外的敲击功能

5.电脑在使用usb设备时,如果是鼠标,则除了usb的开启、关闭功能之外,还能触发鼠标的点击功能

6.电脑在使用usb设备时,如果是键盘,则除了usb的开启、关闭功能之外,还能触发键盘的敲击功能



1.定义USB接口,具备最基本的开启功能和关闭功能

package com.cn.computer;

public interface USB {
//puvlic interface 接口名
void open();
void close();
}

2.定义电脑类,具有开机、关机以及使用usb设备功能

package com.cn.computer;

public class Computer {
public void powerOn(){
System.out.println("电脑已开机");
} public void powerOff(){
System.out.println("电脑已关机");
} public void useUsbDevice(USB usb){
usb.open();
if(usb instanceof Mouse){
((Mouse) usb).click();
}else if(usb instanceof Keyboard){
((Keyboard) usb).keyDown();
}
} public void deleteUsbDevice(USB usb){
System.out.println("移除usb设备");
usb.close();
}
}

3.鼠标类、具有usb功能,并具有额外的点击功能

package com.cn.computer;

public class Mouse implements USB{
//implements关键字实现接口
@Override
public void close() {
System.out.println("usb关闭,鼠标失去连接");
} @Override
public void open() {
System.out.println("usb开启,鼠标已连接");
} public void click(){
System.out.println("鼠标点击了");
}
}

4.键盘类,具有usb功能,并具有额外的敲击功能

package com.cn.computer;

public class Keyboard implements USB{
@Override
public void close() {
System.out.println("usb关闭,键盘失去连接");
} @Override
public void open() {
System.out.println("usb开启,键盘已连接");
} public void keyDown(){
System.out.println("键盘敲击了");
}
}

5.电脑在使用usb设备时,如果是鼠标,则除了usb的开启、关闭功能之外,还能触发鼠标的点击功能

6.电脑在使用usb设备时,如果是键盘,则除了usb的开启、关闭功能之外,还能触发键盘的敲击功能

package com.cn.computer;

public class Main {
public static void main(String[] args) {
Computer computer=new Computer();
computer.powerOn();
USB mouse=new Mouse();
computer.useUsbDevice(mouse);
USB keyboard=new Keyboard();
computer.useUsbDevice(keyboard);
computer.deleteUsbDevice(mouse);
computer.deleteUsbDevice(keyboard);
computer.powerOff();
}
}

运行结果

C:\java\JDK\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2019.1.3\...
电脑已开机
usb开启,鼠标已连接
鼠标点击了
usb开启,键盘已连接
键盘敲击了
移除usb设备
usb关闭,鼠标失去连接
移除usb设备
usb关闭,键盘失去连接
电脑已关机

[精华帖]Java接口怎么定义?如何使用?【实例讲解】的更多相关文章

  1. 教你在Java接口中定义方法

    基本上所有的Java教程都会告诉我们Java接口的方法都是public.abstract类型的,没有方法体的. 但是在JDK8里面,你是可以突破这个界限的哦. 假设我们现在有一个接口:TimeClie ...

  2. java接口中定义成员变量

    //抽象类中可以定义如下成员变量:public abstract class People { public String name; public int age; public abstract ...

  3. Java 接口中定义抽象方法有什么意义

    接口方法声明只能是public abstract的,所以不管你在声明的时候加不加abstract,都是可以的.Java 8开始,接口还引入了默认方法,也就是可以给接口的方法提供默认的实现,默认方法应当 ...

  4. 百度鹰眼Java接口调用增删改查实例

    因感觉百度鹰眼的使用场景比较符合实际业务,于是对百度鹰眼做了简单功能调试.刚开始使用springframework封装的RestTemplate,但是测试提示ak参数不存在.后又试了几种方法,均提示a ...

  5. 【插件开发】—— 11 窃听风云(Java事件监听原理-GEF实例讲解)

    前文回顾: 1 插件学习篇 2 简单的建立插件工程以及模型文件分析 3 利用扩展点,开发透视图 4 SWT编程须知 5 SWT简单控件的使用与布局搭配 6 SWT复杂空间与布局搭配 7 SWT布局详解 ...

  6. java接口和抽象类

    关于接口 1.创建一个接口,需要使用interface关键字. 2.实现一个接口,需要使用implements关键字. 3.接口的成员属性都是静态常量(默认public static final). ...

  7. Java 接口和抽象类差别

    原文:http://blog.csdn.net/sunboard/article/details/3831823 1.概述 一个软件设计的好坏,我想非常大程度上取决于它的总体架构,而这个总体架构事实上 ...

  8. Java 接口基础详解

    目录 Java接口示例 实现一个接口 接口实例 实现多个接口 方法签名重叠 接口变量 接口方法 接口默认方法 接口与继承 继承与默认方法 接口与多态性 在Java中,接口是一个抽象类型,有点类似于类, ...

  9. 我对面向对象设计的理解——Java接口和Java抽象类

    在没有好好地研习面向对象设计的设计模式之前,我对Java接口和Java抽象类的认识还是很模糊,很不可理解. 刚学Java语言时,就很难理解为什么要有接口这个概念,虽说是可以实现所谓的多继承,可一个只有 ...

随机推荐

  1. NEON的比较是把所有的bit都设置为1

    NEON中的比较指令,如果结果为true,是把所有的bit都设置为1,而不是设置为1. ushort data1[4] = {129,0,136,255}; uint16x4_t v0 = vld1_ ...

  2. Day_13【IO流】扩展案例1_读取项目文件内容并去重

    分析以下需求,并用代码实现: 需求: 读取当前项目下的info1.txt 文件内容如下 : aaaaaaaaaaabbbbbbbbbbbbccdefg 要求将数据去重后写回最终效果 : fgdebca ...

  3. 关于 k210 的 micropython 添加 ussl 模块,实现 https 访问支持的那些事。

    起因 事情已经过去快一周了吧,继上次修复 maixpy k210 的 esp8285 at 通信后,突然遇到泽畔大大问,要不要做 ussl 的支持? 评估了一下各方的实现,想了一下自己也刚好在做网络层 ...

  4. xml(2)

    DTD用来验证xml的形式 引入格式:<!DOCTYPE 根元素的名字 SYSTEM "路径">//其中system代表本地路径 <?xml version=&q ...

  5. vue render 中遇到的问题

    以后遇到问题会持续更新 1 render中   判断是否显示 2 render中  属性可以通过判断的形式显示

  6. etcd实现服务发现

    前言 etcd环境安装与使用文章中介绍了etcd的安装及v3 API使用,本篇将介绍如何使用etcd实现服务发现功能. 服务发现介绍 服务发现要解决的也是分布式系统中最常见的问题之一,即在同一个分布式 ...

  7. Win10最常用的快捷键,效率Max提高100%(常用的应该是最全的)

    写在最前面 这是博主爆肝了一晚上给写出来,因为很多博客和资料中仍然使用的xp win7 和win8 的快捷键,我不断地的实验和尝试,总结出以下的快捷键,希望可以帮助到你. 最后,未经运营,爆肝博文不得 ...

  8. Appium自动化(7) - 控件定位工具之Appium 的 Inspector

    如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 上一篇文章介绍了另一块控件定 ...

  9. python迭代器,生成器

    1. 迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外,迭代器的一大 ...

  10. SecureCRT VBscript连接指定端口和波特率

    crt.Session.Connect "/Serial COM2 /BAUD 38400" 其它可用选项参考: crt.session.connect options https ...