You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.4 KiB

package com.example.shape;
interface USB {
void open();
void close();
}
class Mouse implements USB {
@Override
public void open() {
System.out.println("鼠标已连接,指示灯亮起");
}
@Override
public void close() {
System.out.println("鼠标已断开,指示灯熄灭");
}
public void click() {
System.out.println("鼠标点击了一下");
}
}
class Keyboard implements USB {
@Override
public void open() {
System.out.println("键盘已连接,可正常输入");
}
@Override
public void close() {
System.out.println("键盘已断开,无法输入");
}
public void type() {
System.out.println("键盘按下了按键");
}
}
class Computer {
public void useUSB(USB usb) {
usb.open();
if (usb instanceof Mouse) {
((Mouse) usb).click();
} else if (usb instanceof Keyboard) {
((Keyboard) usb).type();
}
usb.close();
System.out.println("------------------------");
}
}
public class USBTest {
public static void main(String[] args) {
Computer computer = new Computer();
USB mouse = new Mouse();
USB keyboard = new Keyboard();
System.out.println("=== 插入鼠标 ===");
computer.useUSB(mouse);
System.out.println("=== 插入键盘 ===");
computer.useUSB(keyboard);
}
}