I am just trying to understand something. What is the point of a testClass (z1) object?
The way I understand it is, it is a starting point for all of the other objects. I am really asking what this means, why/how dose a testClass require an instance of its self? and is there another way to achieve the same results?
Code Below:-
public class testBank {
creditAccount a1 = new creditAccount("Mary Chapple", 2400.41);
creditAccount a2 = new creditAccount("Jim Smith", 2.56);
creditAccount a3 = new creditAccount("Henry A Jones", 700.89);
currentAccount b1 = new currentAccount("Simon Hopkins", 86.01);
currentAccount b2 = new currentAccount("Jack C Whitheridge", 40000.29);
currentAccount b3 = new currentAccount("Bill Sutton", 100.23);
depositAccount c1 = new depositAccount("Theo Gibson", 145.99);
depositAccount c2 = new depositAccount("Jasper Williams", 3000.29);
depositAccount c3 = new depositAccount("Julie Banks", 1000001.99);
savingsAccount d1 = new savingsAccount("Burnard White", 2400.42);
savingsAccount d2 = new savingsAccount("Richard Bennett", 203.16);
savingsAccount d3 = new savingsAccount("Bob Robinson", 10000.11);
public testBank()
//Create an array of objects.//
{
bankAccount[]theAccounts = {a1,a2,a3,b1,b2,b3,c1,c2,c3,d1,d2,d3};
showAccounts (theAccounts);
}
private void showAccounts(bankAccount[] aa)
{
for (int i = 0;i <aa.length;i++)
{
System.out.println("Account Holder: " +aa[i].getAccountName());
System.out.println("Balance = £" +aa[i].getBalance());
System.out.println("Balance pluss APR = £" +aa[i].calculateInterest());
}
}
public static void main(String[]args)
{
testBank z1 = new testBank();
}
Thanks for any help.
The testBank() method is a constructor. This function is called when you create a new testBank instance.
You should use this method to initialize your different variables (a1,a2 etc...).
public class testBank
{
private creditAccount a1;
private creditAccount a2;
private creditAccount a3;
private currentAccount b1;
private currentAccount b2;
private currentAccount b3;
private depositAccount c1;
private depositAccount c2;
private depositAccount c3;
private savingsAccount d1;
private savingsAccount d2;
private savingsAccount d3;
public testBank()
//Create an array of objects.//
{
this.a1 = new creditAccount("Mary Chapple", 2400.41);
this.a2 = new creditAccount("Jim Smith", 2.56);
this.a3 = new creditAccount("Henry A Jones", 700.89);
this.b1 = new currentAccount("Simon Hopkins", 86.01);
this.b2 = new currentAccount("Jack C Whitheridge", 40000.29);
this.b3 = new currentAccount("Bill Sutton", 100.23);
this.c1 = new depositAccount("Theo Gibson", 145.99);
this.c2 = new depositAccount("Jasper Williams", 3000.29);
this.c3 = new depositAccount("Julie Banks", 1000001.99);
this.d1 = new savingsAccount("Burnard White", 2400.42);
this.d2 = new savingsAccount("Richard Bennett", 203.16);
this.d3 = new savingsAccount("Bob Robinson", 10000.11);
bankAccount[]theAccounts = {a1,a2,a3,b1,b2,b3,c1,c2,c3,d1,d2,d3};
showAccounts (theAccounts);
}
private void showAccounts(bankAccount[] aa)
{
for (int i = 0;i <aa.length;i++)
{
System.out.println("Account Holder: " +aa[i].getAccountName());
System.out.println("Balance = £" +aa[i].getBalance());
System.out.println("Balance pluss APR = £" +aa[i].calculateInterest());
}
}
public static void main(String[]args)
{
testBank z1 = new testBank();
}
}
So, what is happening there?
when you call testBank z1 = new testBank();
you are creating a new instance of your testBank class. So, the default constructor is called (the testBank() function). Inside your default constructor, all the private variables are initialized, then an array is constructed, and finally, the showAccounts method is called (this method prints the array content).