可以在子类中调用对象吗?

时间:2016-01-27 00:55:13

标签: java arrays object methods

首先,有关此计划的一些背景信息。它被设置为创建新的银行帐户并保存对象数组中不同对象的信息。在这个特定的代码段中,我试图从用户(银行帐号)获取要通过子类验证的输入。

这是我的主程序,我试图通过子类中的方法获取银行编号。

for(int x = 0; x < bankAccountArray.length; x++){
     System.out.print("Enter bank account number: ");
          int bankNumber = number.nextInt();
     checkAcctNum(bankNumber, bankAccountArray[x]);
}

我的子类的工作原理如下:

public int checkAcctNum(int acctNum, SeveralBankAccountsSub object){
    for(int x = 0; x < 10; x++){
        if(acctNum == object.getAcct()) \\runs seperate method within subclass
            return acctNum;
    }
    return -1;
}

编译时,主程序出现以下错误:

找不到符号 - 方法checkAcctNum(int,ManyBankACcounts Sub)

我不知道如何纠正这个问题。我相信这是由于对象数组被发送到子类,因为我试图使用该数组中的信息来访问所有的银行号码。

任何帮助都会非常感激 - 我已经被困在这两天了(我是一名高中生),让这个程序正常运行我会感到宽慰。

2 个答案:

答案 0 :(得分:2)

如果这是你的主要课程的样子,那就是问题......

public class Main {
    public static void main(String[] args) {
        for(int x = 0; x < bankAccountArray.length; x++){
            System.out.print("Enter bank account number: ");
            int bankNumber = number.nextInt();
            checkAcctNum(bankNumber, bankAccountArray[x]);
        }
    }
}

checkAcctNum在该主要课程中不存在。它存在于您的子类中。因此,你必须做这样的事情:

SubClass x = new SubClass()
for(int x = 0; x < bankAccountArray.length; x++){
     System.out.print("Enter bank account number: ");
          int bankNumber = number.nextInt();
     x.checkAcctNum(bankNumber, bankAccountArray[x]);
}

此外,如果for循环位于静态main方法中,则它只能在包含main方法的类上调用静态方法。

答案 1 :(得分:0)

&#34;找不到符号&#34;意味着无论它在哪里投诉都是从你尝试使用它的地方看不到的(或者它根本没有定义)。我不清楚你的两种方法在哪里,但如果它们属于两个不同的类,那可能是你的问题。