Class A extends B{
super.do();
}
Class B extends BaseAction{
private AService a;//这是一个接口,也有实现类AServiceImpl
private BService b;//这是一个接口,也有实现类BServiceImpl
protect void do(){
 a.get();
 b.get();
}}系统报错,报java.lang.NullPointerException,仔细检查发行,Class B初始化的时候只初始化了private AService a,没有初始化 b,导致在运行到do方法里面,a有值,而b为null,请问造成这样的结果的原因可能是什么,我的Class A里面没有定义过BService或者实现它。

解决方案 »

  1.   

    在线等啊,没高手,还有补充class B不会出错,因为class B是个公共类,许多类继承它,也用调用同样方法的都没有出错。
      

  2.   

    那么a的初始化是如何完成的,通过spring注入的么?
    总之a肯定有一个初始化的过程,b在同样的地方也进行也一下初始化呗
      

  3.   


    空指针了,应该是没有注入BService吧。
    如果不注入,就new一个试试
    private BService b = new BServiceImpl();//这是一个接口,也有实现类BServiceImpl
      

  4.   

    private BService b;没有初始化成功,按照初始化A的方法检查下吧。
    这个问题跟继承没关系了。
      

  5.   

    setter
    getter
    都设置了没
      

  6.   

    大神,我可以膜拜你了吗,一点即中,就知道是spring没有注入,,,