java:NullPointerException,需要帮助吗
现在,这里是BankAccount类,我试图从中提取帐户和余额java:NullPointerException,需要帮助吗,java,eclipse,constructor,Java,Eclipse,Constructor,现在,这里是BankAccount类,我试图从中提取帐户和余额 Exception in thread "main" java.lang.NullPointerException at pkgPeople.Person.toString(Person.java:154) at java.lang.String.valueOf(Unknown Source) at java.io.PrintStream.println(Unknown Source) at pkgPeople.MakePeople
Exception in thread "main" java.lang.NullPointerException
at pkgPeople.Person.toString(Person.java:154)
at java.lang.String.valueOf(Unknown Source)
at java.io.PrintStream.println(Unknown Source)
at pkgPeople.MakePeople.main(MakePeople.java:32)
你知道为什么会这样吗?这是一个构造函数错误吗
谢谢 幸运的是,您提供的堆栈跟踪可以帮助您轻松确定错误发生的位置。我的目标是帮助您自己弄清楚,以便将来您知道如何利用堆栈跟踪 让我们利用我们所知道的。我们知道您将获得一个NullPointerException,这通常意味着您正在使用一个尚未初始化的对象,因此它是null,我们知道它在第154行
记住这一点,看看第154行,看看哪里有空对象。您应该有足够的信息来解决这个问题。幸运的是,您提供的堆栈跟踪可以帮助您轻松确定错误发生的位置。我的目标是帮助您自己弄清楚,以便将来您知道如何利用堆栈跟踪 让我们利用我们所知道的。我们知道您将获得一个NullPointerException,这通常意味着您正在使用一个尚未初始化的对象,因此它是null,我们知道它在第154行 记住这一点,看看第154行,看看哪里有空对象。你应该有足够的信息来解决这个问题。我打赌bankAccount是空的 在此构造函数中:
package pkgPeople;
import java.io.Serializable;
public class BankAccount implements Serializable{
long acctID;
double balance;
String dateCreated;
public BankAccount(long acctID, double balance)
{
this.acctID = acctID;
this.balance = balance;
}
public long getAcctID() {
return acctID;
}
public void setAcctID(long acctID) {
this.acctID = acctID;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
public String getDateCreated() {
return dateCreated;
}
public void setDateCreated(String dateCreated) {
this.dateCreated = dateCreated;
}
}
你不想做我打赌你想做的事:
// We have another constructor; this is also a method
public Person(int height,int weight, String name, BankAccount bankAccount)
{
personCT++;
this.name = name;
this.height = height;
this.weight = weight;
}
我打赌银行账户是空的
在此构造函数中:
package pkgPeople;
import java.io.Serializable;
public class BankAccount implements Serializable{
long acctID;
double balance;
String dateCreated;
public BankAccount(long acctID, double balance)
{
this.acctID = acctID;
this.balance = balance;
}
public long getAcctID() {
return acctID;
}
public void setAcctID(long acctID) {
this.acctID = acctID;
}
public double getBalance() {
return balance;
}
public void setBalance(double balance) {
this.balance = balance;
}
public String getDateCreated() {
return dateCreated;
}
public void setDateCreated(String dateCreated) {
this.dateCreated = dateCreated;
}
}
你不想做我打赌你想做的事:
// We have another constructor; this is also a method
public Person(int height,int weight, String name, BankAccount bankAccount)
{
personCT++;
this.name = name;
this.height = height;
this.weight = weight;
}
1正确格式化代码,使用编辑器中的图标2异常打印的堆栈跟踪是什么?1正确格式化代码,使用编辑器中的图标2异常打印的堆栈跟踪是什么?非常感谢您的建议:没问题。让别人引导我找到正确答案比让别人给我正确答案更有益。@D Spigle别担心,我希望你能理解如何阅读stacktrace,他们几乎总能提供你需要的所有信息。非常感谢你的建议:没问题。让人们引导我找到正确的答案比让人们给我正确的答案更有益。@D Spigle别担心,我希望你能理解如何阅读stacktrace,他们几乎总能提供你需要的所有信息。
this.bankAccount = bankAccount;