2 changed files with 57 additions and 0 deletions
@ -0,0 +1,11 @@ |
|||||
|
public class BankAccountTest { |
||||
|
public static void main(String[] args) { |
||||
|
BankAccount account = new BankAccount("6222021234567890123", "张三"); |
||||
|
account.deposit(1000); |
||||
|
account.withdraw(300); |
||||
|
System.out.println("户主姓名:" + account.getOwnerName()); |
||||
|
System.out.println("当前余额:" + account.getBalance()); |
||||
|
account.setOwnerName("李四"); |
||||
|
System.out.println("修改后户主姓名:" + account.getOwnerName()); |
||||
|
} |
||||
|
} |
||||
@ -0,0 +1,46 @@ |
|||||
|
public class BankAccount { |
||||
|
// 1. 私有属性(封装核心)
|
||||
|
private final String accountNumber; // 账号不可修改,用 final 修饰
|
||||
|
private String ownerName; // 户主姓名可修改
|
||||
|
private double balance; // 余额只能通过存取款修改
|
||||
|
|
||||
|
// 2. 构造方法:创建账户时必须提供账号和户主姓名,初始余额为0
|
||||
|
public BankAccount(String accountNumber, String ownerName) { |
||||
|
this.accountNumber = accountNumber; |
||||
|
this.ownerName = ownerName; |
||||
|
this.balance = 0.0; // 初始余额固定为0
|
||||
|
} |
||||
|
|
||||
|
// 3. 存款操作:金额必须大于0
|
||||
|
public void deposit(double amount) { |
||||
|
if (amount > 0) { |
||||
|
this.balance += amount; |
||||
|
System.out.println("存款成功!当前余额:" + this.balance + " 元"); |
||||
|
} else { |
||||
|
System.out.println("存款失败!存款金额必须大于0。"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 4. 取款操作:金额必须大于0且不超过当前余额
|
||||
|
public void withdraw(double amount) { |
||||
|
if (amount <= 0) { |
||||
|
System.out.println("取款失败!取款金额必须大于0。"); |
||||
|
} else if (amount > this.balance) { |
||||
|
System.out.println("取款失败!取款金额超过当前余额。"); |
||||
|
} else { |
||||
|
this.balance -= amount; |
||||
|
System.out.println("取款成功!当前余额:" + this.balance + " 元"); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
// 5. 查询余额方法(对外提供只读访问)
|
||||
|
public double getBalance() { |
||||
|
return this.balance; |
||||
|
} |
||||
|
|
||||
|
// 6. 户主姓名的修改方法(可写)
|
||||
|
public void setOwnerName(String ownerName) { |
||||
|
this.ownerName = ownerName; |
||||
|
} |
||||
|
|
||||
|
//
|
||||
Loading…
Reference in new issue