线程" main"中的例外情况显示java.lang.NullPointerException

时间:2014-04-14 05:35:08

标签: java

在运行以下程序时获取此异常

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 如何解决这个问题。

3 个答案:

答案 0 :(得分:3)

您无法初始化BillAction Bill对象的BillAction。默认情况下,实例变量设置为null。因此,在NullPointerException上调用方法将导致BillAction

您需要覆盖默认构造函数,并确保初始化{{1}}属性。或者简单地按照Sanjay在他的回答中提到的那样初始化它。

答案 1 :(得分:2)

billDetails未初始化。而你正在调用它的方法。 因此,无论何时在“null”上调用方法,都会得到空指针异常

这样做,private BillAction billDetails= new BillAction();

答案 2 :(得分:0)

您有默认构造函数,而您没有初始化billDetails。所以当你调用getBillDetails()

时,你将得到null