public class BankAccount {
// 私有属性
private String name;
private double balance;
// 无参构造方法,将账户余额初始化为0
public BankAccount() {
this.name = "Unknown"; // 或者可以设置为null,取决于业务逻辑
this.balance = 0;
}
// 有参构造方法,接受账户持有人姓名和初始余额
public BankAccount(String name, double initialBalance) {
this.name = name;
this.balance = initialBalance;
}
// 存款方法
public void deposit(double amount) {
if (amount > 0) {
balance += amount;
System.out.println("存款成功!当前余额:" + balance);
} else {
System.out.println("存款金额必须大于0!");
}
}
// 取款方法
public void withdraw(double amount) {
if (amount > 0 && amount <= balance) {
balance -= amount;
System.out.println("取款成功!当前余额:" + balance);
} else if (amount > balance) {
System.out.println("余额不足,取款失败!");
} else {
System.out.println("取款金额必须大于0!");
}
}
// 静态方法,返回当前利率
public static double getInterestRate() {
return 0.05; // 5%的利率
}
// Getter方法(可选,用于测试或显示信息)
public String getName() {
return name;
}
public double getBalance() {
return balance;
}
// 主类,用于测试BankAccount类的功能
public static void main(String[] args) {
// 使用无参构造方法创建对象
BankAccount account1 = new BankAccount();
System.out.println("账户1持有人:" + account1.getName() + ",余额:" + account1.getBalance());
// 使用有参构造方法创建对象
BankAccount account2 = new BankAccount("张三", 1000);
System.out.println("账户2持有人:" + account2.getName() + ",余额:" + account2.getBalance());
// 测试存款方法
account2.deposit(500);
// 测试取款方法
account2.withdraw(200);
account2.withdraw(1500); // 余额不足,应该打印错误消息
// 显示当前利率
System.out.println("当前利率:" + BankAccount.getInterestRate() * 100 + "%");
}
}