Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        6年前关闭。
                    
                
        

我只是想了解一些东西。
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();
}


谢谢你的帮助。

最佳答案

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方法(此方法将打印数组内容)。

07-27 15:01