任务一:创建一个简单的银行程序包
目的:Java语言中面向对象的封装及构造器的创建与使用
说明:创建Account类,将源文件放入banking程序包中。在创建单个账户的默认程序包中,已经编写了测试程序TestBanking,这个测试程序初始化账户余额,并可执行简单的事物处理。最后,能显示该账户的最终余额。
提示
-
创建banking包
-
在banking包下创建
Account类a.声明私有属性:
balance(当前账户余额)b.声明一个带参数(
init_balance)的公有构造器,这个参数为balance属性赋值c.声明公有方法:
getBablance(获取余额)deposit(向余额增加金额)withdraw(向余额减去金额)) -
编写TestBanking.java文件
任务二:扩展(添加Customer类,此类中包含对象Account)
目的:使用引用类型的成员变量
提示:
-
在banking包下创建
Customer类a.声明私有对象属性:
firstName,lastName,account(分别表示名与性)
b.声明一个带两个参数(代表对象属性的参数f和l)的公有构造器
c.声明方法getFirstName(获取属性),getLastName(获取属性),setAccount(给account属性赋值),getAccount(获取account属性)) -
编写TestBanking.java文件
任务三:修改withdraw方法返回布尔值,表达交易是否成功。
目的:有返回值的方法
提示:修改Account类
- 修改
withdraw方法,取款金额大于余额,返回false;反之返回true - 存款成功返回true
任务四:用数组实现银行与客户间的多重关系
目的:在类中使用数组作为模拟集合操作
提示:添加银行类Bank类,Bank对象跟踪自身与其客户的关系。用Customer对象的数组实现这个集合化的关系。还要保持一个整数属性来跟踪银行当前有多少客户
- a.创建
Bank类 - b.为
Bank类增加属性customers(Customer对象的数组)和numberOfCustomers(整数,跟踪下一个customers数组索引) - c.添加公有构造器,以合适的最大尺寸初始化customer数组
- d.添加
addCustomer方法(参照参数(姓,名)构造新的Customer对象,把它放入customer数组中,并且numberOfCustomers+1) - e.添加
getNumberOfCustomers方法(获取属性的值)getCustomers方法(返回index相关客户))

任务五:在项目中创建Account的两个子类:SavingAccount和CheckingAccount
目的:继承,多态,方法的重写
提示:
- 修改
Account类的属性balance为protected - 创建
SavingAccount类,继承Account类 SavingAccount类有double类型的interestRate属性SavingAccount类有带两个参数(balance和interest_rate)的公有构造器。该构造器必须调用super(balance)将balance参数传递给父类构造器CheckingAccount类必须扩展Account类CheckingAccount类有double类型的overdraftProtection属性CheckingAccount类有带一个参数(balance)的公有构造器。该构造器必须调用super(balance)将balance参数传递给父类构造器CheckingAccount类有带两个参数(balance和protect)的公有构造器。该构造器必须调用super(balance)并设置overdraftProtection属性,将balance参数传递给父类构造器CheckingAccount类必须覆盖withdraw方法(余额充足,正常进行取款;余额不充足,就用overdraftProtection值来弥补该差值)
任务六:创建客户账户
目的:instanceof运算符的使用
提示:
- 修改
Customer类来处理具有多种类型的联合账户(如用数组表示多重性,该类必须包括以下公有方法:addAccount(Account),getAccount(int),getNumOfAccounts().每个Customer可以有多个Account.(声明至少5个)) - 测试:该程序创建一个客户和账户的集合,并生成这些客户及其账户余额的报告。
- 使用
instanceof运算符测试拥有的账户类型,并且将account_type设置为适当值,如CheckingAccount或SavingAccount。
相关参考答案在相关资源里
感谢大家的支持,关注,评论,点赞!












![[Axios]在Axios中,怎么实现监听上传数据进度、监听接口返回数据进、如何终止网络请求。实现上传文件实时进度条以及下载文件实时进度条。](https://img-blog.csdnimg.cn/ce20c0d8e2f8448a834a7c18240570b4.png)






