7 changed files with 82 additions and 0 deletions
@ -0,0 +1,10 @@ |
|||
// Computer.java
|
|||
public class Computer { |
|||
public void useUSB(USB usbDevice) { |
|||
System.out.println("电脑检测到 USB 设备插入。"); |
|||
usbDevice.open(); |
|||
// 模拟使用过程
|
|||
usbDevice.close(); |
|||
System.out.println("USB 设备已移除。\n"); |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
public class Keyboard implements USB { |
|||
@Override |
|||
public void open() { |
|||
System.out.println("键盘已开启,准备输入。"); |
|||
} |
|||
|
|||
@Override |
|||
public void close() { |
|||
System.out.println("键盘已关闭。"); |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
public class Mouse implements USB { |
|||
@Override |
|||
public void open() { |
|||
System.out.println("鼠标已开启,准备移动。"); |
|||
} |
|||
|
|||
@Override |
|||
public void close() { |
|||
System.out.println("鼠标已关闭。"); |
|||
} |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
public class ShapeTest{ |
|||
// 统一绘制方法
|
|||
public static void drawShape(Shape s) { |
|||
s.draw(); |
|||
} |
|||
|
|||
public static void main(String[] args) { |
|||
Shape circle = new Circle(); |
|||
Shape rectangle = new Rectangle(); |
|||
|
|||
drawShape(circle); // 输出:绘制一个圆形 🟡
|
|||
drawShape(rectangle); // 输出:绘制一个矩形 🟦
|
|||
} |
|||
} |
|||
@ -0,0 +1,4 @@ |
|||
public interface USB { |
|||
void open(); |
|||
void close(); |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
public class USBTest { |
|||
public static void main(String[] args) { |
|||
Computer computer = new Computer(); |
|||
|
|||
// 1. 插入鼠标
|
|||
USB mouse = new Mouse(); |
|||
computer.useUSB(mouse); |
|||
|
|||
// 2. 插入键盘
|
|||
USB keyboard = new Keyboard(); |
|||
computer.useUSB(keyboard); |
|||
} |
|||
} |
|||
@ -0,0 +1,19 @@ |
|||
abstract class Shape { |
|||
public abstract void draw(); |
|||
} |
|||
|
|||
// 2. 圆形类
|
|||
class Circle extends Shape { |
|||
@Override |
|||
public void draw() { |
|||
System.out.println("绘制一个圆形 🟡"); |
|||
} |
|||
} |
|||
|
|||
// 3. 矩形类
|
|||
class Rectangle extends Shape { |
|||
@Override |
|||
public void draw() { |
|||
System.out.println("绘制一个矩形 🟦"); |
|||
} |
|||
} |
|||
Loading…
Reference in new issue