
package pack1;
import java.util.Date;
public class Account {
private int id;
private double balance;
public static double annualInterestRate;
private Date dateCreated = new Date();
public Account() {
}
public Account(int id, double balance) {
this.id = id;
this.balance = balance;
}
public boolean withdraw(double amount) {
if(amount < 0 || amount > balance)
return false;
balance -= amount;
return true;
}
public boolean deposit(double amount) {
if (amount < 0) return false;
balance += amount;
return true;
}
@Override
public String toString() {
return "Id: " + id + "\nBalance: " + balance + "\nDate created: " + dateCreated;
}
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 static double getAnnualInterestRate() {
return annualInterestRate;
}
public static void setAnnualInterestRate(double annualInterestRate) {
Account.annualInterestRate = annualInterestRate;
}
public Date getDateCreated() {
return dateCreated;
}
}
package pack1;
public class CheckingAccount extends Account{
private static double limit;
public CheckingAccount() {
}
public CheckingAccount(int id, double balance) {
super(id, balance);
}
public static double getLimit() {
return limit;
}
public static void setLimit(double limit) {
CheckingAccount.limit = limit;
}
@Override
public String toString() {
return super.toString() + "\nLimit: " + limit;
}
}
package pack1;
public class SavingAccount extends Account {
public SavingAccount() {
}
public SavingAccount(int id, double balance) {
super(id, balance);
}
}
package pack1;
public class TestAccount {
public static void main(String[] args) {
Account account = new Account(1, 1000);
CheckingAccount checkingAccount = new CheckingAccount(2, 12000);
CheckingAccount.setLimit(200);
CheckingAccount.setAnnualInterestRate(0.25);
SavingAccount savingAccount = new SavingAccount(3, 2000);
System.out.println(account + "\n");
System.out.println(checkingAccount + "\n");
System.out.println(savingAccount);
}
}
