题目
模拟银行存取款
1、 创建基接口BankAccount,包含
存款方法playIn(),
取款方法withdraw(),
查询余额方法getBalance()。
2、 创建接口ITransferBankAccount(继承基接口BankAccount)
包含转账方法transferTo().
类CurrentAccount实现ITransferBankAccount接口且其中包含
私有数据成员:名字name和余额balance,
取款方法:withdraw(),
查询余额getBanlance(),
重载方法toString()方法,该方法返回银行当前账户中的余额。
4、 主函数中:拥有两个账户:分别为曹操和刘备,
(1):曹操存款1000,刘备存款2000。
(2):刘备向曹操转账1元钱,返回两个账户当前的余额。
代码
/**
* 练习
* @author 焦焱
* 2018年5月24日20:57:10
*/
public class Practice {
public static void main(String[] args) {
CurrentAccount caocao = new CurrentAccount("曹操");
CurrentAccount liubei = new CurrentAccount("刘备");
caocao.playIn(1000);
liubei.playIn(2000);
System.out.println(caocao);
System.out.println(liubei);
liubei.transferTo(caocao, 1);
System.out.println("转账后");
System.out.println(caocao);
System.out.println(liubei);
}
}
/**
* BankAccount接口
* @author 14831
*
*/
interface BankAccount{
/**
* 存钱
* @param money 钱
* @return 是否成功
*/
boolean playIn(double money);
/**
* 取钱
* @param money 钱
* @return 是否成功
*/
boolean withdraw(double money);
/**
* 获得当前余额
* @return
*/
double getBalance();
}
/**
* ITransferBankAccount接口
* @author 14831
*
*/
interface ITransferBankAccount extends BankAccount{
/**
* 转账
* @param name 目标账户
* @param money 钱
* @return
*/
boolean transferTo(CurrentAccount name,double money);
}
/**
* 账户类,实现ITransferBankAccount接口
* @author 14831
*
*/
class CurrentAccount implements ITransferBankAccount{
/**
* 姓名
*/
private String name;
/**
* 余额
*/
private double balance=0;
/**
* 构造方法 初始化
* @param name
*/
public CurrentAccount(String name) {
this.name = name;
this.balance = 0;
}
@Override
public boolean playIn(double money) {
balance+=money;
return true;
}
@Override
public boolean withdraw(double money) {
if(money>balance)
{
System.err.println("你的余额不足");
return false;
}
balance-=money;
return true;
}
@Override
public double getBalance() {
return balance;
}
@Override
public boolean transferTo(CurrentAccount name,double money) {
if(withdraw(money))
{
name.playIn(money);
return true;
}
return false;
}
@Override
public String toString() {
return "["+name+" 当前余额为:" +balance+"]";
}
}
测试
[曹操 当前余额为:1000.0]
[刘备 当前余额为:2000.0]
转账后
[曹操 当前余额为:1001.0]
[刘备 当前余额为:1999.0]