零基础学Java—笔记本USB接口案例(二十八)

Posted 王同学要努力

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了零基础学Java—笔记本USB接口案例(二十八)相关的知识,希望对你有一定的参考价值。

【零基础学Java】—笔记本USB接口案例(二十八)

一、笔记本电脑

笔记本电脑(laptop)通常具备使用USB设备的功能,在生产时,笔记本都预留了可以插入USB设备的USB接口,但具体什么是USB设备,笔记本厂商并不关心,只要符合USB规格的设备都可以。

二、案例分析

进行描述笔记本,实现笔记本不用USB鼠标,USB键盘

  • USB接口,包含打开设备的功能,关闭设备功能
  • 笔记本类,包含开机功能,关机功能,使用USB设备的功能
  • 鼠标类,要实现USB接口,并具备点击的方法
  • 键盘类,要实现USB接口,具备敲击的功能

三、案例实现

public interface USB 
    public abstract void open();//打开设备
    public  abstract void close();// 关闭设备


public class Computer 
    public void powerOn()
        System.out.println("笔记本电脑开机");
    

    public void powerOff()
        System.out.println("笔记本电脑关机");
    

    // 使用USB设备的方法  使用接口作为方法的参数
    public void usedevice(USB usb)
        usb.open();//打开设备
        if(usb instanceof  Mouse)//一定要先判断
            Mouse mouse=(Mouse) usb;//向下转型
            mouse.click();

        else if(usb instanceof  Keyboard)//先判断
            Keyboard keyboard=(Keyboard) usb;// 向下转型
            keyboard.type();

        
        usb.close();//关闭设备
    




//鼠标就是一种USB设备
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("点击鼠标");

    


//键盘就是一种USB设备
public class Keyboard implements USB 

    @Override
    public void open() 
        System.out.println("打开键盘");

    

    @Override
    public void close() 
        System.out.println("关闭键盘");

    


    public void type()
        System.out.println("键盘输入");
    


public class DemoMain 
    public static void main(String[] args) 
        //首先创建一个笔记本电脑
        Computer computer=new Computer();
        computer.powerOn();


       //首先进行向上转型
        USB usbMouse=new Mouse();
        //参数是USB类型,我正好传递进去的就是USB鼠标
        computer.usedevice(usbMouse);

        //  创建一个USB键盘
        Keyboard keyboard=new Keyboard();
        //方法参数是USB类型 传递进去的是实现类对象
        computer.usedevice(keyboard);
        computer.powerOff();


    




以上是关于零基础学Java—笔记本USB接口案例(二十八)的主要内容,如果未能解决你的问题,请参考以下文章

零基础学Java—接口(二十四)

零基础学Java—Collection集合(三十八)

零基础学Java—继承父类并实现多个接口(二十五)

零基础学Java—自定义异常(四十八)

零基础学Java—数学工具类Math(十八)

云原生 | 从零开始学Kubernetes二十八完结篇—rbac授权深入讲解