Java Bank Account


public class BankAccount {

    public BankAccount () { this(0.0) ; } 
   
    public BankAccount( double initBal )
       { balance_=initBal; id_=newID(); }

    public double balance() { return balance_; }
    public int   id()       { return id_; }

    public void withdraw(double amt) { balance_ -=amt; }
    public void  deposit(double amt) { balance_ +=amt; }

    public String toString()    
       { return super.toString() + "(id:" + id_ + ", bal:" + balance_ + ")" ; }

    // Instance variables
    private double balance_;
    private int id_;

    // Class variable and class method
    public static int nextID_=100;
    private static int newID() { return nextID_++; }

    // Another "special" class method
    public static void main(String args[]) {

    BankAccount a=new BankAccount(15.25);
    BankAccount b=new BankAccount();

    System.out.println("a=" + a.toString() );
    System.out.println("b=" + b.toString() );

    a.withdraw(5.50);
    b.deposit(125.99);

    System.out.println("a=" + a);
    System.out.println("b=" + b);

    System.exit(0);     
    } // no semi-colon
}

Detailed Description:

"The next few lines are the accessor methods. They allow you to access the data that's located in the center of that doughnut. The data itself is actually a little farther down. The balance and id methods (notice they're not underscored) allow us to access the information that's held in the balance_ and id_ instance variables. They just extract the variables and pass them back to you. Pretty straightforward. The next two lines are very simple withdraw and deposit methods. With withdraw, we pass in a double, which is an amount we wish to withdraw, and our deposit does the same. And then we use the -= and += operators to increment or decrement the balance based on the amount given."