Java面向对象模拟银行账户的核心是封装BankAccount类,含私有字段(账号、姓名、余额)和公有方法(构造、存款、取款、查询),通过private保护余额并提供受控操作。

用 Java 面向对象模拟银行账户存取款,核心是把“账户”建模为一个类,封装数据(如余额、账号)和行为(如存款、取款),并通过对象实例操作真实业务逻辑。
定义 BankAccount 类封装账户状态和操作
创建 BankAccount 类,包含私有字段(账号、姓名、余额)和公有方法(构造、存款、取款、查询余额)。关键点是用 private 保护余额,只允许通过受控方法修改,体现封装性。
示例代码片段:
public class BankAccount {
private String accountNumber;
private String ownerName;
private double balance;
public BankAccount(String accountNumber, String ownerName, double initialBalance) {
this.accountNumber = accountNumber;
this.ownerName = ownerName;
this.balance = Math.max(0, initialBalance); // 初始余额不能为负
}
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
System.out.println("存入 " + amount + " 元,当前余额:" + balance);
} else {
System.out.println("存款金额必须大于 0");
}
}
public void withdraw(double amount) {
if (amount > 0 && amount <= balance) {
balance -= amount;
System.out.println("取出 " + amount + " 元,当前余额:" + balance);
} else if (amount <= 0) {
System.out.println("取款金额必须大于 0");
} else {
System.out.println("余额不足,取款失败");
}
}
public double getBalance() {
return balance;
}
}
用 main 方法创建对象并测试业务流程
在 main 方法中 new 出 BankAccount 实例,调用其方法模拟真实操作。每个对象代表一个独立账户,互不影响——体现面向对象的“实例隔离”特性。
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
立即学习“Java免费学习笔记(深入)”;
例如:
public static void main(String[] args) {
BankAccount account1 = new BankAccount("1001", "张三", 500.0);
account1.deposit(200.0); // 存入 200 → 余额 700
account1.withdraw(100.0); // 取出 100 → 余额 600
account1.withdraw(800.0); // 余额不足提示
BankAccount account2 = new BankAccount("1002", "李四", 1000.0);
account2.withdraw(300.0); // 独立操作,不影响 account1
}
可选增强:引入简单异常处理与日志反馈
实际开发中,不建议仅靠 print 提示错误。可自定义异常(如 InsufficientBalanceException),在 withdraw 中抛出,并在调用处 try-catch,让错误处理更清晰。
- 取款失败时 throw 新异常,而非只打印语句
- 存款方法也可校验是否为 NaN 或无穷大(Double.isFinite)
- 添加 toString() 方便调试输出账户摘要信息
理解三大特性如何落地
封装:balance 私有 + getter/setter(或只提供安全的 deposit/withdraw);
继承:后续可扩展出 SavingsAccount(含利息)、CreditAccount(含透支额度)等子类;
多态:不同账户类型统一实现 Account 接口,用同一段代码处理多种取款逻辑。

















