package bank;
public class BankAccount {
private String accountNumber;
private String accountHolderName;
private Date openingDate;
private String idNumber;
private double balance;
public BankAccount(String accountNumber, String accountHolderName, Date openingDate, String idNumber, double balance) {
this.accountNumber = accountNumber;
this.accountHolderName = accountHolderName;
this.openingDate = openingDate;
this.idNumber = idNumber;
this.balance = balance;
}
public void deposit(double amount) {
balance += amount;
}
public boolean withdraw(double amount) {
if (balance < amount) {
return false; // insufficient funds
}
balance -= amount;
return true;
}
public double getBalance() {
return balance;
}
public void close() {
accountNumber = null;
accountHolderName = null;
openingDate = null;
idNumber = null;
balance = 0;
}
@Override
public void finalize() throws Throwable {
super.finalize();
System.out.println("账户 " + accountNumber + " 已关闭。");
close();
}
}