我们鼠标和键盘实现USB接口,那么我们鼠标和键盘就变成了USB设备,这时候我们就可以把它放到笔记本电脑里面去用

 package com.biggw.day10.demo07;

 /**
* @author gw
* @date 2019/11/2 0002 下午 16:46
*/
public class Computer {
public void open() {
System.out.println("打开电脑!");
} public void close() {
System.out.println("关闭电脑!");
} public void useDevice(Usb usb) {
if (usb instanceof KeyBorad) {
KeyBorad keyBorad = (KeyBorad) usb;
keyBorad.open();
keyBorad.type();
keyBorad.close();
} else if (usb instanceof Mouse) {
Mouse mouse = (Mouse) usb;
mouse.open();
mouse.click();
mouse.close();
}
}
}

Computer

 package com.biggw.day10.demo07;

 /**
* @author gw
* @date 2019/11/2 0002 下午 16:42
*/
public interface Usb {
public abstract void open(); public abstract void close();
}

Usb 接口

 package com.biggw.day10.demo07;

 /**
* @author gw
* @date 2019/11/2 0002 下午 16:44
*/
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("点击鼠标!");
}
}

Mouse Usb接口的实现类

 package com.biggw.day10.demo07;

 /**
* @author gw
* @date 2019/11/2 0002 下午 16:43
*/
public class KeyBorad implements Usb {
@Override
public void open() {
System.out.println("打开键盘!");
} @Override
public void close() {
System.out.println("关闭键盘!");
} public void type() {
System.out.println("键盘输入文字!");
}
}

KeyBoard Usb接口的实现类

 package com.biggw.day10.demo07;

 /**
* @author gw
* @date 2019/11/2 0002 下午 16:52
*/
public class Main {
public static void main(String[] args) {
Usb usb = new KeyBorad();
Usb usb1 = new Mouse(); Computer computer = new Computer();
computer.open();
computer.useDevice(usb);
computer.useDevice(usb1);
computer.close(); /*点击鼠标!
打开电脑!
打开键盘!
键盘输入文字!
关闭键盘!
打开鼠标!
关闭鼠标!
关闭电脑!*/
}
}

Main 方法入口

Java 接口和多态练习的更多相关文章

  1. Java 接口和多态

    接口 1.1 接口的概述 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样 ...

  2. Java接口与多态

    接口 可以理解为一种特殊的类,里面全部是由全局常量(static final)和公共的抽象方法所组成 接口的定义格式 接口的数据成员,只允许被public, static, final修饰. 接口的方 ...

  3. java 接口实现多态

    package unit4; import java.awt.Graphics; public interface Shape { void drowme(Graphics g); double ar ...

  4. Java基础学习笔记八 Java基础语法之接口和多态

    接口 接口概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”.接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的定义 ...

  5. Java开发知识之Java的继承多态跟接口*

    Java开发知识之Java的继承多态跟接口 一丶继承 1.继承的写法 在Java中继承的 关键字是 extends 代表一个类继承另一个类. 继承的含义以及作用: 继承就是基于某个父类的扩展.制定出来 ...

  6. Java 基础 接口和多态

    接口 接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的 ...

  7. Java 面向对象之接口、多态

    01接口的概念 A:接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成 ...

  8. Java学习笔记——继承、接口、多态

    浮点数的运算需要注意的问题: BigDecimal operand1 = new BigDecimal("1.0"); BigDecimal operand2 = new BigD ...

  9. java抽象类、多态、接口

    抽象类 抽象类的产生 当编写一个类时,我们往往会为该类定义一些方法,这些方法是用来描述该类的功能具体实现方式,那么这些方法都有具体的方法体. 但是有的时候,某个父类只是知道子类应该包含怎么样的方法,但 ...

随机推荐

  1. linux登陆客户端自动执行命令

    登陆客户端的时候,检查一下磁盘空间,内存,或是谁在线,每次都要手动去敲命令. 小技巧: cd ~ vi .bashrc 添加: echo "####Check Disk Use####&qu ...

  2. linux 系统下 zip 的加密压缩与解压缩命令

    1.加密压缩 [small@sun shine]# zip -rP king java.zip java adding: java/ (stored 0%) adding: java/default/ ...

  3. 点云数据中的三维信息提取pcl

    https://www.hanspub.org/journal/PaperInformation.aspx?paperID=24702 https://wenku.baidu.com/view/160 ...

  4. 搜索引擎算法研究专题六:HITS算法

    搜索引擎算法研究专题六:HITS算法 2017年12月19日 ⁄ 搜索技术 ⁄ 共 1240字 ⁄ 字号 小 中 大 ⁄ 评论关闭   HITS(Hyperlink-Induced Topic Sea ...

  5. 使用Zabbix通过ILO管理口监控惠普服务器

    https://blog.csdn.net/qq_41571056/article/details/82928542

  6. d3d.h和d3d9.h混用的问题

    d3d.h和d3d9.h混用的时候,一大堆错误,不管怎么调整包含顺序都不对,最后看到这个网址解决的http://www.programmer-club.com.tw/ShowSameTitleN/di ...

  7. 分布式任务队列 Celery

    目录 目录 前言 简介 Celery 的应用场景 架构组成 Celery 应用基础 前言 分布式任务队列 Celery,Python 开发者必备技能,结合之前的 RabbitMQ 系列,深入梳理一下 ...

  8. python 接口测试时,后端报错no String-argument constructor/factory method

    解决方法: 1.先将字典转化为序列化的数据类型 data = {"pageNo":0,"pageSize":10,"shopId":15,& ...

  9. Spring中通过变量和import标签来控制加载哪些bean

    需求:根据设置变量,来加载某个spring的bean的配置文件,这个配置文件中,有某些使用的bean.在一些情况下,不希望这些bean被初始化和加载进context中,也不需要被外面访问到. 在spr ...

  10. Shiro Demo 示例(SpringMVC-Mybatis-Shiro-redis)

    Shiro Demo 准备工作 运行前申明 请看完本页面的所有细节,对你掌握这个项目来说很重要,别一上来就搞,你不爽,我也不爽. 本项目需要一定的Java功底,需要对SpringMvc,Mybatis ...