信用类账户和储蓄类账户相互转账
方法transfer(Account a,double money)
public abstract class AbstractAccount{
}
package Student;
import java.util.Date;
public class Account extends AbstractAccount{
private String id;
private String name;
private double balance;
private Date dateCreated = new Date();
public Account(String id, String name) {
this.id = id;
this.name = name;
}
// 构造对应的set和get方法
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
public Date getDateCreated() {
return dateCreated;
}
public void setDateCreated(Date dateCreated) {
this.dateCreated = dateCreated;
}
void withdraw(double Moneywithdraw) {//构造取款方法
if (balance - Moneywithdraw < 0) {//判断
System.out.println("余额不足,不可以取款");
} else {
balance = balance - Moneywithdraw;
System.out.println("账户余额:" + balance);
}
}
void deposit(double Moneydeposit) {//构造存款方法
balance = balance + Moneydeposit;
System.out.println("账户余额:" + balance);
}
void transfer(Account a, double money) {//构造转账方法
if (balance < money) {//判断
System.out.println("余额不足,不可以转账");
} else {
balance = balance - money;
System.out.println("账户余额:" + balance);
}
}
public String toString() {
return ("账号:" + id + "\t实名:" + name + "\t账户余额" + balance + "\t开户时间:" + dateCreated);
}
}
测试类
package Student;
public class TestAccount {
public static void main(String[] args) {
Account p1 = new Account("200405216", "蜡笔小新");// 创建账户对象
p1.deposit(3000);
System.out.println(p1.toString());
p1.withdraw(2500);
System.out.println(p1.toString());// 创建另一个账户对象
Account p2 = new Account("200205218", "胡图图");
p1.transfer(p2, 100);
System.out.println(p1.toString());
System.out.println(p2.toString());
// 测试取钱和转账时余额不足的情况
p1.withdraw(2500);
p1.transfer(p2, 100);
System.out.println(p1.toString());
System.out.println(p2.toString());
}
}