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.
60 lines
1.7 KiB
60 lines
1.7 KiB
// 1. 定义 USB 接口
|
|
interface USB1 {
|
|
void open(); // 开启设备
|
|
void close(); // 关闭设备
|
|
}
|
|
|
|
// 2. 鼠标类 实现 USB 接口
|
|
class Mouse1 implements USB1 {
|
|
@Override
|
|
public void open() {
|
|
System.out.println("鼠标已连接:红光闪烁,准备就绪。");
|
|
}
|
|
|
|
@Override
|
|
public void close() {
|
|
System.out.println("鼠标已断开:红光熄灭。");
|
|
}
|
|
}
|
|
|
|
// 3. 键盘类 实现 USB 接口
|
|
class Keyboard1 implements USB1 {
|
|
@Override
|
|
public void open() {
|
|
System.out.println("键盘已连接:指示灯闪烁,可以打字了。");
|
|
}
|
|
|
|
@Override
|
|
public void close() {
|
|
System.out.println("键盘已断开:指示灯熄灭。");
|
|
}
|
|
}
|
|
|
|
// 4. 电脑类
|
|
class Computer1 {
|
|
// 核心方法:利用多态,参数是 USB1 接口类型
|
|
// 这意味着它可以接收任何实现了 USB1 接口的对象(鼠标、键盘、U盘等)
|
|
public void useUSB(USB1 usb) {
|
|
System.out.println(">>> 电脑检测到设备插入...");
|
|
usb.open(); // 调用具体设备的 open 方法
|
|
usb.close(); // 调用具体设备的 close 方法
|
|
System.out.println("-------------------------");
|
|
}
|
|
}
|
|
|
|
// 5. 测试类(主程序)
|
|
public class ComputerTest {
|
|
public static void main(String[] args) {
|
|
// 创建电脑对象
|
|
Computer1 myPc = new Computer1();
|
|
|
|
// 创建具体的 USB 设备
|
|
Mouse1 mouse = new Mouse1();
|
|
Keyboard1 keyboard = new Keyboard1();
|
|
|
|
// 将设备插入电脑
|
|
// 这里体现了多态:把子类对象(Mouse1)赋值给父接口引用(USB1)
|
|
myPc.useUSB(mouse); // 输出鼠标的行为
|
|
myPc.useUSB(keyboard); // 输出键盘的行为
|
|
}
|
|
}
|
|
|