By Barry A. Burd

When I was a young object, I wasn’t as smart as the objects you have nowadays. Consider, for example, the object in the code below This object not only displays itself, but it can also fill itself with values.

importjava.util.Random;

importjava.text.NumberFormat;

import static java.lang.System.out;

classBetterAccount {

String lastName;

int id;

double balance;

void fillWithData() {

Random myRandom = new Random();

lastName = "" +

(char) (myRandom.nextInt(26) + 'A') +

(char) (myRandom.nextInt(26) + 'a') +

(char) (myRandom.nextInt(26) + 'a');

id = myRandom.nextInt(10000);

balance = myRandom.nextInt(10000);

}

void display() {

NumberFormat currency = NumberFormat.getCurrencyInstance();

out.print("The account with last name ");

out.print(lastName);

out.print(" and ID number ");

out.print(id);

out.print(" has balance ");

out.println(currency.format(balance));

}

}

Here’s a way to use the class in the code above. Check out the new code.

classProcessBetterAccounts {

public static void main(String args[]) {

BetterAccountanAccount;

for (int i = 0; i < 3; i++) {

anAccount = new BetterAccount();

anAccount.fillWithData();

anAccount.display();

}

}

}

The second set of code is pretty slick. Because the code in the first listing is so darn smart, the new code has very little work to do. This new code just creates a BetterAccount object and then calls the methods in the first listing of code.