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.
4.3 KiB
4.3 KiB
汽车租赁系统 - Car 类说明文档
项目概述
本项目是一个基于 Java 的简单汽车租赁系统核心实体类 (Car.java)。该类用于表示一辆汽车的基本属性,并提供了汽车租赁、租金计算以及车辆信息管理等功能。本项目非常适合 Java 初学者学习面向对象编程(OOP)中的封装、构造方法、静态变量以及异常处理等核心概念。
功能特性
- 车辆信息封装:记录并管理车辆的车牌号、品牌、型号、日租金及租赁状态。
- 全局统计功能:使用静态变量(
static)自动追踪系统内创建的车辆总数。 - 数据有效性校验:在创建对象和更新属性时,针对非法输入(如空字符串、负数租金等)抛出
IllegalArgumentException,保证数据的一致性和安全性。 - 租赁状态管理:提供了租车方法
rent(),可避免车辆被重复租赁。 - 租金计算:根据用户提供的租赁天数动态计算总租金。
类结构说明
核心类:JavaLearningProject.w3.Car
1. 成员变量
private String licensePlate: 车牌号(只读,创建后不可修改)private String brand: 汽车品牌private String model: 汽车型号private double dailyRent: 日租金(默认值为 300.0,可修改)private boolean isRented: 租赁状态(true表示已租出,false表示未租出)private static int totalCars: 系统中注册的总车辆数
2. 构造方法
public Car(String licensePlate, String brand, String model, double dailyRent)初始化一辆车,并验证参数的合法性,若合法则totalCars自增 1。
3. 核心方法
- Getters / Setters:提供对
brand、model和dailyRent的安全访问与修改。 public boolean rent():尝试租出车辆。若车辆未租出,则将状态改为已租出并返回true;若已租出,返回false。public double calculateRent(int days):计算给定天数的租金。天数必须为正数。public static int getTotalCars():获取系统内创建的总车辆数。
使用方法 & 示例代码
您可以参考同目录下的 CarRunner.java 进行测试。以下是一个快速使用的代码示例:
import JavaLearningProject.w3.Car;
public class Main {
public static void main(String[] args) {
// 1. 创建车辆对象
Car myCar = new Car("京A88888", "Toyota", "Camry", 200.0);
// 2. 查看车辆状态
System.out.println("车辆品牌: " + myCar.getBrand());
System.out.println("是否已租出: " + myCar.isRented());
// 3. 租车操作
boolean success = myCar.rent();
System.out.println("租车结果: " + success);
// 4. 计算 5 天的租金
double totalCost = myCar.calculateRent(5);
System.out.println("5天租金: " + totalCost);
// 5. 获取总车辆数
System.out.println("总计车辆数: " + Car.getTotalCars());
}
}
依赖环境要求
- JDK 版本:Java 8 或以上版本。
- 运行环境:任何支持 Java 运行时的操作系统(Windows, macOS, Linux)。
- 外部依赖:纯 Java 原生实现,无需依赖任何第三方类库(如 Maven/Gradle)。
编译运行步骤
如果您使用命令行执行本程序,请确保当前处于项目根目录的上级目录(如包含 JavaLearningProject 的文件夹)。
1. 编译代码
javac JavaLearningProject/w3/Car.java JavaLearningProject/w3/CarRunner.java
2. 运行测试程序
java JavaLearningProject.w3.CarRunner
3. 输出结果参考
程序执行结果已保存至本目录下的 output.txt 文件中。您可以在其中查看所有可能的场景输出(包含正常情况和异常处理的捕获)。
注意事项
- 包名路径:类文件使用了包声明
package JavaLearningProject.w3;,在编译和运行时必须严格遵循包目录结构的路径。 - 只读属性:
licensePlate(车牌号) 是车辆的唯一标识,因此在设计上仅提供了Getter方法,未提供Setter方法。 - 异常处理:在传入空字符串或负数等非法参数时,程序会抛出
IllegalArgumentException。在实际开发中,调用方需做好try-catch处理,避免程序崩溃。