Browse Source

Merge remote-tracking branch 'origin/main'

main
LeiJuntao 2 months ago
parent
commit
497f87dadf
  1. 60
      W5/ComputerTest.java
  2. 38
      W5/Shape1.java

60
W5/ComputerTest.java

@ -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); // 输出键盘的行为
}
}

38
W5/Shape1.java

@ -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…
Cancel
Save