目录
1. 账户类(Account)
2. 客户类(Customer)
3. 银行类(Bank)
4. 测试类(BankTest)
运行结果
在今天的博文中,我们将一起探讨一个简单的Java银行账户管理系统的设计与实现。该系统将包含几个关键类:Account
(账户类)、Bank
(银行类)、Customer
(客户类)以及一个测试类BankTest
。通过这些类,我们将能够模拟基本的银行账户操作,如存款、取款以及管理客户信息。
1. 账户类(Account)
首先,我们定义了一个Account
类,用于表示银行账户。这个类包含了余额属性(balance
),并提供了构造器来初始化账户余额。此外,还实现了getBalance
方法用于获取账户余额,deposit
方法用于存款,以及withdraw
方法用于取款。
package exer2;/*** ClassName:IntelliJ IDEA* Description:* 账户类** @Author zyjstart* @Create:2024/8/29 20:53*/
public class Account {private double balance; // 余额public Account(double init_balance) {this.balance = init_balance;}public double getBalance() {return balance;}// 存钱public void deposit(double amt) {if (amt > 0) {balance += amt;System.out.println("成功存入:" + amt);}}// 取钱public void withdraw(double amt) {if (balance >= amt) {balance -= amt;System.out.println("成功取出:" + amt);} else {System.out.println("取款数额有误或余额不足!");}}}
2. 客户类(Customer)
接着,我们定义了Customer
类,用于表示银行的客户。每个客户都有自己的姓名(姓和名)和一个与之关联的Account
对象。Customer
类提供了构造器、获取姓名和账户的方法,以及设置账户的方法。
package exer2;/*** ClassName:IntelliJ IDEA* Description:* 客户类* @Author zyjstart* @Create:2024/8/29 20:59*/
public class Customer {private String firstName; // 名private String lastName; // 姓private Account account; // 账户public Customer(String f, String l) {this.firstName = f;this.lastName = l;}public String getFirstName() {return firstName;}public String getLastName() {return lastName;}public Account getAccount() {return account;}public void setAccount(Account account) {this.account = account;}}
3. 银行类(Bank)
然后,我们定义了Bank
类,用于表示银行。银行需要能够管理多个客户,因此我们使用了一个Customer
数组来存储客户列表,并维护了一个计数器来跟踪存储的客户数量。Bank
类提供了添加客户、获取客户数量和根据客户索引获取客户的方法。
package exer2;/*** ClassName:IntelliJ IDEA* Description:* 银行类** @Author zyjstart* @Create:2024/8/29 21:10*/
public class Bank {private Customer[] customers; // 用于保存多个客户private int numberOfCustomer; // 用于记录存储的客户的个数public Bank() {customers = new Customer[10];}/*** 将指定姓名的客户保存在银行的客户列表中** @param f // 姓* @param l // 名*/public void addCustomer(String f, String l) {Customer cust = new Customer(f, l);customers[numberOfCustomer] = cust;numberOfCustomer++;}/*** 获取客户列表中存储的客户的个数** @return*/public int getNumOfCustomer() {return numberOfCustomer;}/*** 获取指定索引位置上的客户** @param index* @return*/public Customer getCustomer(int index) {if (index < 0 || index >= numberOfCustomer) {return null;}return customers[index];}
}
4. 测试类(BankTest)
最后,我们通过一个测试类BankTest
来验证整个系统的功能。在这个测试类中,我们创建了一个Bank
对象,添加了两个客户,并为第一个客户创建了一个账户并进行了取款操作。
package exer2;/*** ClassName:IntelliJ IDEA* Description:** @Author zyjstart* @Create:2024/8/29 21:15*/
public class BankTest {public static void main(String[] args) {Bank bank = new Bank();bank.addCustomer("操","曹");bank.addCustomer("备","刘");bank.getCustomer(0).setAccount(new Account(1000));bank.getCustomer(0).getAccount().withdraw(50);System.out.println("账户余额为:" + bank.getCustomer(0).getAccount().getBalance());}
}
运行结果
通过运行BankTest
类,我们可以看到控制台输出了取款成功的消息以及账户当前的余额,验证了我们的银行账户管理系统能够正常工作。
以上就是这个简单的Java银行账户管理系统的设计与实现。虽然这个系统很简单,但它涵盖了面向对象编程的基本概念和技能,如类的定义、对象的创建、方法的实现以及类的关联等。希望这个示例能够帮助你更好地理解Java编程和面向对象设计。