/** * 银行账户类 * 包含账户号、户主姓名、余额三个属性 */ 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); } }