【零基础学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();
    }
}


相关文章
|
5天前
|
安全 Java API
java如何请求接口然后终止某个线程
通过本文的介绍,您应该能够理解如何在Java中请求接口并根据返回结果终止某个线程。合理使用标志位或 `interrupt`方法可以确保线程的安全终止,而处理好网络请求中的各种异常情况,可以提高程序的稳定性和可靠性。
35 6
|
22天前
|
Java API
Java中内置的函数式接口
Java中内置的函数式接口
23 2
|
27天前
|
Java
在Java中如何实现接口?
实现接口是 Java 编程中的一个重要环节,它有助于提高代码的规范性、可扩展性和复用性。通过正确地实现接口,可以使代码更加灵活、易于维护和扩展。
47 3
|
26天前
|
Java
在Java中,接口之间可以继承吗?
接口继承是一种重要的机制,它允许一个接口从另一个或多个接口继承方法和常量。
75 1
|
26天前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
59 1
|
26天前
|
Java
在Java中实现接口的具体代码示例
可以根据具体的需求,创建更多的类来实现这个接口,以满足不同形状的计算需求。希望这个示例对你理解在 Java 中如何实现接口有所帮助。
41 1
|
1月前
|
Java Android开发
Eclipse 创建 Java 接口
Eclipse 创建 Java 接口
27 1
|
Java
Java接口和抽象类
Java接口和抽象类
90 0
|
4月前
|
设计模式 Java
【惊天揭秘】Java编程绝技大曝光:接口、抽象类、静态类与非静态类的神秘面纱终被揭开!
【8月更文挑战第22天】Java支持面向对象编程,通过接口、抽象类、静态类(如枚举与工具类)及普通类实现设计原则。接口定义行为规范,允许多重继承;抽象类含未实现的抽象方法,需子类完成;静态类常为工具类,提供静态方法;普通类则实例化对象。恰当运用这些结构能提升程序质量。
41 2
|
7月前
|
设计模式 搜索推荐 Java
java接口和抽象类的区别,以及使用选择
java接口和抽象类的区别,以及使用选择
82 0