0

私は何かを理解しようとしているだけです。testClass (z1) オブジェクトのポイントは何ですか?

私が理解しているように、それは他のすべてのオブジェクトの出発点です。私は本当にこれが何を意味するのかを尋ねています.なぜ/どのようにtestClassがそれ自身のインスタンスを必要としますか? 同じ結果を達成する別の方法はありますか?

以下のコード:-

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();
}

助けてくれてありがとう。

4

3 に答える 3

2

testClass のポイントは、クラス bankAccount の引数とメソッドの結果を標準出力に出力してアカウントをテストすることです。

クラス creditAccount、currentAccount、depositAccount、および SavingAccount は、クラス bankAccount を拡張します (これらのクラスはクラス bankAccount を継承します)。

testBank クラスを使用したくない場合は、これらの情報を出力する bankAccount クラスで print メソッドを作成することもできます。

public void print ()
{ 
    System.out.println("Account Holder: " + this.getAccountName());
    System.out.println("Balance = £" + this.getBalance());
    System.out.println("Balance pluss APR = £" + this.calculateInterest());
}

次に、これを使用してアカウントをテストします。

public static void main(String[]args)
{
    creditAccount a1 = new creditAccount("Mary Chapple", 2400.41);
    currentAccount b1 = new currentAccount("Simon Hopkins", 86.01);
    depositAccount c1 = new depositAccount("Theo Gibson", 145.99);    
    savingsAccount d1 = new savingsAccount("Burnard White", 2400.42);
    a1.print();
    b1.print();
    c1.print();
    d1.print();
}
于 2013-04-23T19:22:12.783 に答える
0

testBank() メソッドはコンストラクターです。この関数は、新しい testBank インスタンスを作成するときに呼び出されます。

このメソッドを使用して、さまざまな変数 (a1、a2 など) を初期化する必要があります。

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();
    }
}

それで、そこで何が起こっているのですか?

呼び出すtestBank z1 = new testBank();と、testBank クラスの新しいインスタンスが作成されます。したがって、デフォルトのコンストラクターが呼び出されます (testBank() 関数)。デフォルトのコンストラクター内で、すべてのプライベート変数が初期化され、配列が構築され、最後に showAccounts メソッドが呼び出されます (このメソッドは配列の内容を出力します)。

于 2013-04-23T19:59:31.987 に答える