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.

84 lines
2.5 KiB

/**
* 银行账户类
* 包含账户号、户主姓名、余额三个属性
*/
public class BankAccount {
// 私有属性,实现封装
private final String accountNumber; // 账户号(final 修饰,创建后不可修改)
private String ownerName; // 户主姓名(可以修改)
private double balance; // 余额(只能通过存款和取款操作改变)
/**
* 构造方法:创建账户时必须提供账户号和户主姓名,初始余额为 0
* @param accountNumber 账户号
* @param ownerName 户主姓名
*/
public BankAccount(String accountNumber, String ownerName) {
this.accountNumber = accountNumber;
this.ownerName = ownerName;
this.balance = 0.0; // 初始余额设为 0
}
/**
* 存款操作
* @param amount 存款金额
*/
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
System.out.println("存款成功!存入金额:" + amount + "元,当前余额:" + balance + "元");
} else {
System.out.println("存款失败!存款金额必须大于 0。");
}
}
/**
* 取款操作
* @param amount 取款金额
*/
public void withdraw(double amount) {
if (amount > 0) {
if (amount <= balance) {
balance -= amount;
System.out.println("取款成功!取出金额:" + amount + "元,当前余额:" + balance + "元");
} else {
System.out.println("取款失败!余额不足,当前余额:" + balance + "元");
}
} else {
System.out.println("取款失败!取款金额必须大于 0。");
}
}
/**
* 查询余额方法(只读,不允许直接修改余额)
* @return 当前余额
*/
public double getBalance() {
return balance;
}
/**
* 获取账户号(只读)
* @return 账户号
*/
public String getAccountNumber() {
return accountNumber;
}
/**
* 获取户主姓名
* @return 户主姓名
*/
public String getOwnerName() {
return ownerName;
}
/**
* 设置户主姓名(可以修改)
* @param ownerName 新的户主姓名
*/
public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
System.out.println("户主姓名已修改为:" + ownerName);
}
}