diff --git a/w3/BankAccountTest.java b/w3/BankAccountTest.java new file mode 100644 index 0000000..46dcfe9 --- /dev/null +++ b/w3/BankAccountTest.java @@ -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()); + } +} \ No newline at end of file diff --git a/w3/bankaccount.java b/w3/bankaccount.java new file mode 100644 index 0000000..1adefe3 --- /dev/null +++ b/w3/bankaccount.java @@ -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; + } + + // \ No newline at end of file