在运行以下程序时获取此异常
Exception in thread "main" java.lang.NullPointerException
at pojo.Bill.main(Bill.java:20)
Java Result: 1
Bill.java
public class Bill {
public static void main(String s[]){
Bill b=new Bill();
b.getBillDetails().setBillNo(444);// line 20
System.out.println("bill no "+ b.getBillDetails().getBillNo());
}
private BillAction billDetails;
public BillAction getBillDetails() {
return billDetails;
}
public void setBillDetails(BillAction billDetails) {
this.billDetails = billDetails;
}
在BillAction中有billNo的getter和setter 如何解决这个问题。
答案 0 :(得分:3)
您无法初始化BillAction
Bill
对象的BillAction
。默认情况下,实例变量设置为null。因此,在NullPointerException
上调用方法将导致BillAction
。
您需要覆盖默认构造函数,并确保初始化{{1}}属性。或者简单地按照Sanjay在他的回答中提到的那样初始化它。
答案 1 :(得分:2)
billDetails
未初始化。而你正在调用它的方法。
因此,无论何时在“null”上调用方法,都会得到空指针异常
这样做,private BillAction billDetails= new BillAction();
答案 2 :(得分:0)
您有默认构造函数,而您没有初始化billDetails。所以当你调用getBillDetails()
时,你将得到null