1 /**
2 A bank account has a balance that can be changed by
3 deposits and withdrawals.
4 */
5 public class BankAccount implements Comparable
6 {
7 private double balance;
8
9 /**
10 Constructs a bank account with a zero balance.
11 */
12 public BankAccount()
13 {
14 balance = 0;
15 }
16
17 /**
18 Constructs a bank account with a given balance.
19 @param initialBalance the initial balance
20 */
21 public BankAccount(double initialBalance)
22 {
23 balance = initialBalance;
24 }
25
26 /**
27 Deposits money into the bank account.
28 @param amount the amount to deposit
29 */
30 public void deposit(double amount)
31 {
32 balance = balance + amount;
33 }
34
35 /**
36 Withdraws money from the bank account.
37 @param amount the amount to withdraw
38 */
39 public void withdraw(double amount)
40 {
41 balance = balance - amount;
42 }
43
44 /**
45 Gets the current balance of the bank account.
46 @return the current balance
47 */
48 public double getBalance()
49 {
50 return balance;
51 }
52
53 public int compareTo(Object otherObject)
54 {
55 BankAccount other = (BankAccount) otherObject;
56 if (balance < other.balance) { return -1; }
57 if (balance > other.balance) { return 1; }
58 return 0;
59 }
60 }