I am trying to do a bank account application which will be running with threads.
I want to have 3 different bank accounts but im not sure how to do that. 

My code is below: 

```
package bankapp1;

public class Account implements Runnable {
  int balance;
  int preTransaction;
  String customerName;
  String customerId;

  Account()
  {
     balance = 6000;
  }

  public void run() {
      for (int i =1; i <=4; i++) {
          deposit(2000);
          if (getBalance() < 0 ) {
              System.out.println("account is overdrawn!");
          }
      }

  }
  public synchronized void deposit (int amount) {
      if (getBalance() >= amount ) {
          System.out.println(Thread.currentThread().getName() + " is going to withdraw $ "
          + amount);
          try {
              Thread.sleep(3000);
          } catch (InterruptedException ex) {
          }
          withdraw(amount);
          System.out.println(Thread.currentThread().getName() + " completes the withdrawl of $ "
          + amount);
      } else {
          System.out.println(" not enought in account for " + Thread.currentThread().getName()
                  + "to withdraw" + getBalance());
      }
  }

  public int getBalance() {
      return balance;
  }

  public void withdraw(int amount) {
      if (amount!=0) {
      balance = balance - amount;
      preTransaction = -amount;
      }
  }

  void getPreTransaction()
  {
      if (preTransaction > 0)
      {
          System.out.println("Deposited: " +preTransaction);
      }
      else if (preTransaction < 0) {
          System.out.println("Withdrawn: " + Math.abs(preTransaction));
      }
      else {
          System.out.println("No transaction occured");
      }
  }

}

package bankapp1;

public class ClientTesting {

    public static void main(String[] args) {
        Account acc = new Account();
        Thread t1 = new Thread(acc);
        Thread t2 = new Thread(acc);
        t1.setName("pinelopi");
        t2.setName("andreas");

        t1.start();
        t2.start();

    }
}

```

Do I have to create another class called savingsAccount with almost the same implementations as the Account class and then call it in ClientTesting class as I did with the Account class?