用java写银行存取款
时间: 2024-12-08 14:23:43 浏览: 38
在Java中编写银行账户的存取款操作,可以创建一个简单的BankAccount类作为基础类,并通过继承和多态来实现具体的储蓄账户(SavingAccount)和支票账户(CheckingAccount)。这里是一个简化版的例子:
```java
// 定义一个抽象的银行账户接口
interface BankAccount {
void deposit(double amount); // 存款
void withdraw(double amount); // 取款
}
// 实现基本的银行账户类
class BasicBankAccount implements BankAccount {
private double balance;
public BasicBankAccount() {
this.balance = 0;
}
@Override
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
System.out.println("存款成功,余额变为:" + balance);
} else {
System.out.println("存款金额不能为负数");
}
}
@Override
public void withdraw(double amount) {
if (amount <= balance) {
balance -= amount;
System.out.println("取款成功,余额变为:" + balance);
} else {
System.out.println("余额不足,无法完成取款");
}
}
}
// 储蓄账户继承自基本银行账户
class SavingsAccount extends BasicBankAccount {
// 如果需要,可以在此添加额外的功能,比如利息计算
}
// 支票账户继承自基本银行账户
class CheckingAccount extends BasicBankAccount {
// 支票账户可能有额外费用,可以在withdraw方法中处理
@Override
public void withdraw(double amount) {
super.withdraw(amount - calculateServiceFee());
System.out.println("扣除服务费后,取款金额变为:" + (balance - calculateServiceFee()));
}
// 模拟服务费计算方法
private double calculateServiceFee() {
return amount * 0.02; // 2%的服务费
}
}
// 使用示例
public class Main {
public static void main(String[] args) {
BankAccount account1 = new SavingsAccount();
account1.deposit(5000);
account1.withdraw(2000);
BankAccount account2 = new CheckingAccount();
account2.deposit(10000);
account2.withdraw(4000);
}
}
```
阅读全文