public class BankAccount { // 私有属性:账户号(final修饰,不可修改) private final String accountNumber; // 私有属性:户主姓名(可修改) 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; } /// 获取账户号(只读,无setter方法) /// @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); } /** * 查询余额(只读,无setter方法) * @return 当前余额 */ public double getBalance() { return balance; } /** * 存款操作 * @param amount 存款金额(必须大于0) */ public void deposit(double amount) { if (amount > 0) { balance += amount; System.out.println("存款 " + amount + " 元成功,当前余额:" + balance + " 元"); } else { System.out.println("存款金额必须大于0!"); } } /** * 取款操作 * @param amount 取款金额(必须大于0且不超过当前余额) */ public void withdraw(double amount) { if (amount <= 0) { System.out.println("取款金额必须大于0!"); } else if (amount > balance) { System.out.println("余额不足!当前余额为 " + balance + " 元,无法取出 " + amount + " 元。"); } else { balance -= amount; System.out.println("取款 " + amount + " 元成功,当前余额:" + balance + " 元"); } } /** * 查询余额并打印信息 */ public void queryBalance() { System.out.println("账户 " + accountNumber + " 当前余额为:" + balance + " 元"); } }