Java学习实战实例(二):笔记本USB接口案例与分析

文章目录

    • 1.案例分析
    • 2.代码实现

1.案例分析

Java学习实战实例(二):笔记本USB接口案例与分析_第1张图片

2.代码实现

  • USB接口
//usb接口
public interface USB {
     

    public abstract void open();

    public abstract void close();
}

  • 鼠标类
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("点击鼠标");
    }
}

  • 键盘类
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 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 = (day10.demo07.keyboard) usb;
            keyboard.type();
        }
        usb.close();
    }
}
  • 测试类
public class DemoMain {
     

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

        //准备一个鼠标
        Mouse mouse = new Mouse();
        //向上转型
        USB usbMouse = new Mouse();
        //传递类型
        computer.useDevice(usbMouse);
        //创建一个USB键盘
        keyboard keyboard = new keyboard();
        //方法参数是USB设备,传递实现类对象
        computer.useDevice(keyboard);
        computer.useDevice(new keyboard());

        computer.powerOff();
        System.out.println("=======================");
    }
}

基础知识参见作者其他博客,谢谢!!!
奥利给,今天又是元气满满的一天!!!

你可能感兴趣的:(Java,java,编程语言,软件测试,intellij,idea)