解决方案 »

  1.   

    说下我的理解:
    你new Sub();的时候调用了Sub的构造函数,
    在Sub的构造函数中,先默认调用父类的无参构造函数,所以调用了Base()
    Base()里头调用了test(),这里会调用子类的test(),而这时候private String name = “hehe”;
    还没有执行,所以这个时候name为null
    就抛出了你的那个异常。
      

  2.   

    执行父类构造方法的时候,调用了子类重写过的test, 但是父类并没有name属性。
      

  3.   

    一楼的大哥,类属性初始化不是在调用构造器之前吗,既然都调用构造器了,name怎么会没执行呢???
      

  4.   


    是这样的~
    类属性初始化不是在调用构造器之前吗,name赋值怎么会没执行