2 changed files with 0 additions and 98 deletions
@ -1,60 +0,0 @@ |
|||||
// 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); // 输出键盘的行为
|
|
||||
} |
|
||||
} |
|
||||
@ -1,38 +0,0 @@ |
|||||
public class Shape1 { |
|
||||
public void draw() { |
|
||||
System.out.println("绘制一个图形"); |
|
||||
} |
|
||||
|
|
||||
// 静态方法,用于测试多态
|
|
||||
public static void drawShape(Shape1 s) { |
|
||||
s.draw(); |
|
||||
} |
|
||||
|
|
||||
public static void main(String[] args) { |
|
||||
System.out.println("--- 基础题测试 ---"); |
|
||||
|
|
||||
// 创建子类对象
|
|
||||
Circle1 c = new Circle1(); |
|
||||
Rectangle1 r = new Rectangle1(); |
|
||||
|
|
||||
// 调用测试方法,体现多态性
|
|
||||
drawShape(c); // 输出: 绘制一个圆形
|
|
||||
drawShape(r); // 输出: 绘制一个矩形
|
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// 子类 Circle1,注意这里不要加 public
|
|
||||
class Circle1 extends Shape1 { |
|
||||
@Override |
|
||||
public void draw() { |
|
||||
System.out.println("绘制一个圆形"); |
|
||||
} |
|
||||
} |
|
||||
|
|
||||
// 子类 Rectangle1,注意这里不要加 public
|
|
||||
class Rectangle1 extends Shape1 { |
|
||||
@Override |
|
||||
public void draw() { |
|
||||
System.out.println("绘制一个矩形"); |
|
||||
} |
|
||||
} |
|
||||
Loading…
Reference in new issue