[精华帖]Java接口怎么定义?如何使用?【实例讲解】

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

题目:
模拟电脑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:javaJDKinjava.exe "-javaagent:C:Program FilesJetBrainsIntelliJ IDEA 2019.1.3...
电脑已开机
usb开启,鼠标已连接
鼠标点击了
usb开启,键盘已连接
键盘敲击了
移除usb设备
usb关闭,鼠标失去连接
移除usb设备
usb关闭,键盘失去连接
电脑已关机
原文地址:https://www.cnblogs.com/BIG-BOSS-ZC/p/11807351.html