Files
javaSE1001/day01/src/com/inmind/test10/DeviceTest.java
2025-12-21 17:24:54 +08:00

65 lines
2.4 KiB
Java

package com.inmind.test10;
import java.util.List;
// 测试类
public class DeviceTest {
public static void main(String[] args) {
// 创建设备管理器
DeviceManager manager = new DeviceManager();
// 添加设备
manager.addDevice(new Smartphone("Apple", "iPhone 14", 6999.0, 256));
manager.addDevice(new Laptop("Dell", "XPS 15", 9999.0, 32));
manager.addDevice(new SmartTV("Sony", "KD-65X9000H", 7999.0, 65.0));
manager.addDevice(new Smartphone("Samsung", "Galaxy S23", 5999.0, 512));
manager.addDevice(new Laptop("Lenovo", "ThinkPad X1", 8999.0, 16));
// 显示所有设备
manager.showAllDevices();
// 显示设备总数(静态方法使用)
System.out.println("\n当前设备总数: " + Device.getTotalDevices());
// 开机所有设备
manager.powerOnAllDevices();
// 为所有可充电设备充电60分钟
manager.chargeAllChargeableDevices(60);
// 显示可充电设备及其电量
manager.showChargeableDevices();
// 按价格排序并显示
/*manager.sortDevicesByPrice();
manager.showAllDevices();*/
// 测试多态:调用特定设备的方法
System.out.println("\n===== 设备功能测试 =====");
List<Device> appleDevices = manager.findDevicesByBrand("Apple");
for (Device device : appleDevices) {
if (device instanceof Smartphone) {
Smartphone phone = (Smartphone) device;
phone.connectToNetwork("家庭WiFi");
phone.takePhoto();
phone.showBatteryStatus();
phone.disconnectFromNetwork();
}
}
// 测试静态方法:计算折扣价格
/*Device laptop = manager.findDevicesByBrand("Dell").get(0);
double discountPrice = Device.calculateDiscountPrice(laptop, 0.8);
System.out.println("\n" + laptop.getBrand() + " " + laptop.getModel() +
" 原价: " + laptop.getPrice() + " 折扣价: " + discountPrice);*/
// 关机所有设备
manager.powerOffAllDevices();
// 移除一个设备
manager.removeDevice("Sony", "KD-65X9000H");
manager.showAllDevices();
}
}