Java学习笔记(十三)
今日份的学习代码。。。。。。。
账户
public class Account {
private int id;
protected double balance;
private double annualInterestRate;
public Account() {
}
public Account(int id,double balance,double annualInterestRate) {
this.id = id;
this.balance = balance;
this.annualInterestRate = annualInterestRate;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
public double getAnnualInterestRate() {
return annualInterestRate;
}
public void setAnnualInterestRate(double annualInterestRate) {
this.annualInterestRate = annualInterestRate;
}
public double getMonthlyInterest() {
return (annualInterestRate/12);
}
public void withdraw(double amount) {
if (balance < amount) {
System.out.println("余额不足:"+balance);
}else {
balance -= amount;
System.out.println("取钱成功");
}
}
public void deposit(double amount) {
balance += amount;
System.out.println("存钱成功");
}
}
账户测试
public class AccountTest {
public static void main(String[] args) {
Account acct = new Account(1122,20000,0.045);
acct.withdraw(30000);
System.out.println("余额:"+acct.getBalance());
acct.withdraw(2500);
acct.deposit(3000);
System.out.println("余额:"+acct.getBalance()+" 月利率: "+acct.getMonthlyInterest());
}
}
增加了透支功能,并用了继承的方法
public class CheckAccount extends Account{
private double over;
public CheckAccount(int id,int balance,double rate,double over) {
super(id,balance,rate);
this.over = over;
}
public void withdraw(double amount) {
if (amount > (balance+over)) {
System.out.println("余额不足,并超过可透支余额的限额");
}else if (amount > balance ) {
balance = 0;
over = (over+balance-amount);
}else {
balance -= amount;
}
}
public double getOver() {
return over;
}
public void setOver(int amount) {
over -= amount;
}
public static void main(String[] args) {
CheckAccount cAccount = new CheckAccount(1122,20000,0.045,5000);
cAccount.withdraw(5000);
System.out.println("余额:"+cAccount.getBalance()+"可透支余额:"+cAccount.getOver());
cAccount.withdraw(18000);
System.out.println("余额:"+cAccount.getBalance()+"可透支余额:"+cAccount.getOver());
cAccount.withdraw(3000);
System.out.println("余额:"+cAccount.getBalance()+"可透支余额:"+cAccount.getOver());
}
}