public abstract class BankAccount { private double balance; private String statement; public BankAccount() { balance = 0.0; statement = ""; } // end constructor public void makeDeposit(double amount) { balance += amount; statement += "Deposit: " + amount + "\n"; statement += "New balance: " + getBalance() + "\n"; } // end makeDeposit public double getBalance() { return balance; } // end getBalance public void addToBalance(double amount) { balance += amount; } // end addToBalance public void subtractFromBalance(double amount) { balance -= amount; } // end subtractFromBalance public boolean makeWithdrawal(double amount){ if( balance - amount < 0.0 ) return false; balance = balance - amount; statement += "Withdrawal: " + amount + "\n"; statement += "New balance: " + getBalance() + "\n"; return true; } // end makeWithdrawal public String toString() { return statement; } // end statement public void clearStatement() { statement = ""; } // end clearStatement public void addToStatement(String s) { statement += s; } // end addTostatement } // end BankAccount