1 /**
2 A bank account has a balance that can be changed by
3 deposits and withdrawals.
4 */
5 public class BankAccount
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 /**
54 Transfers money from the bank account to another account
55 @param amount the amount to transfer
56 @param other the other account
57 */
58 public void transfer(double amount, BankAccount other)
59 {
60 withdraw(amount);
61 other.deposit(amount);
62 }
63 }