Browse Source

上传文件至 ''

main
Lixinyi 2 months ago
parent
commit
4facc4925f
  1. BIN
      BankAccount.class
  2. 111
      BankAccount.java

BIN
BankAccount.class

Binary file not shown.

111
BankAccount.java

@ -0,0 +1,111 @@
/**
* 银行账户类封装账户信息与操作行为
*/
public class BankAccount {
// 1. 定义私有属性,符合封装特性
private final String accountNumber; // 账户号:创建后不可修改,用final修饰
private String ownerName; // 户主姓名:可修改
private double balance; // 余额:仅通过存款/取款修改
/**
* 2. 构造方法创建账户时必须传入账户号和户主姓名初始余额为0
* @param accountNumber 账户号不可修改
* @param ownerName 户主姓名
*/
public BankAccount(String accountNumber, String ownerName) {
this.accountNumber = accountNumber;
this.ownerName = ownerName;
this.balance = 0.0; // 初始余额为0
}
/**
* 3. 存款操作
* @param amount 存款金额
*/
public void deposit(double amount) {
// 校验:金额必须大于0
if (amount > 0) {
balance += amount;
System.out.println("存款成功!当前余额:" + String.format("%.2f", balance));
} else {
System.out.println("存款失败:金额必须大于0!");
}
}
/**
* 4. 取款操作
* @param amount 取款金额
*/
public void withdraw(double amount) {
// 校验:金额大于0 且 不超过当前余额
if (amount > 0) {
if (amount <= balance) {
balance -= amount;
System.out.println("取款成功!当前余额:" + String.format("%.2f", balance));
} else {
System.out.println("取款失败:取款金额超过当前余额!");
}
} else {
System.out.println("取款失败:金额必须大于0!");
}
}
/**
* 5. 查询余额方法对外提供查询不允许直接修改
* @return 当前账户余额
*/
public double getBalance() {
return balance;
}
/**
* 6. 获取账户号仅提供getter无setter保证不可修改
* @return 账户号
*/
public String getAccountNumber() {
return accountNumber;
}
/**
* 7. 获取户主姓名
* @return 户主姓名
*/
public String getOwnerName() {
return ownerName;
}
/**
* 8. 修改户主姓名对外提供修改入口
* @param ownerName 新的户主姓名
*/
public void setOwnerName(String ownerName) {
this.ownerName = ownerName;
}
/**
* 测试类验证账户功能
*/
public static void main(String[] args) {
// 1. 创建账户(账户号:622202123456789,户主:张三)
BankAccount account = new BankAccount("622202123456789", "张三");
// 2. 测试存款
account.deposit(1000.0); // 存款1000
account.deposit(-500.0); // 存款负数(失败)
// 3. 测试取款
account.withdraw(300.0); // 取款300
account.withdraw(800.0); // 取款800(超过余额,失败)
account.withdraw(-100.0); // 取款负数(失败)
// 4. 查询余额
System.out.println("最终查询余额:" + String.format("%.2f", account.getBalance()));
// 5. 修改户主姓名
account.setOwnerName("张小三");
System.out.println("修改后户主姓名:" + account.getOwnerName());
// 6. 尝试获取账户号(验证不可修改)
System.out.println("账户号:" + account.getAccountNumber());
}
}
Loading…
Cancel
Save