Java,空指针异常。将对象添加到数组时
我是java新手,我正在尝试将一个对象添加到一个对象数组中。 我有两门课,银行和账户。银行包含帐户对象数组 银行构造函数初始化帐户数组Java,空指针异常。将对象添加到数组时,java,arrays,exception,nullpointerexception,null,Java,Arrays,Exception,Nullpointerexception,Null,我是java新手,我正在尝试将一个对象添加到一个对象数组中。 我有两门课,银行和账户。银行包含帐户对象数组 银行构造函数初始化帐户数组 public Bank (String bankName, int num) { nameOfBank = bankName; max = num; Account[] accounts = new Account[max]; count = 0; 这是我的addAccount方法 public
public Bank (String bankName, int num) {
nameOfBank = bankName;
max = num;
Account[] accounts = new Account[max];
count = 0;
这是我的addAccount方法
public boolean addAccount (Account acct) {
if(acct == null) {
return false;
}
accounts[count++] = acct;
return true;
}
这是我在main中添加帐户的方式
newBank.addAccount(test);
另外,我不允许使用java数组以外的任何东西。(无arrayList)
您已将
帐户
定义为构造函数的局部变量,而不是类级成员
public class Bank {
Account[] accounts;
int count;
public Bank(String bankName, int num) {
accounts = new Account[num];
count = 0;
}
public boolean addAccount(Account acct) {
// Do your work
}
}
对不起,我有个人账户[]账户;作为一个variable@user2387963-不管您是否拥有它,根据构造函数中的代码,您正在声明并初始化一个同名的局部变量,而不是类级变量。哦,不需要帐户[]帐户谢谢,这就解决了它。@user2387963不。。。您仍然需要声明帐户[]帐户,但您需要在正确的位置声明它。最初,您将其声明为构造函数中的本地字段。一旦超出构造函数,该字段就超出了范围,您就不能再引用它了。如果在类中声明帐户(在任何方法之外),则该帐户对类中的所有方法都可用。
public class Bank {
Account[] accounts;
int count;
public Bank(String bankName, int num) {
accounts = new Account[num];
count = 0;
}
public boolean addAccount(Account acct) {
// Do your work
}
}