我给name赋值了,为什么还会报空指针异常?classBase{publicBase(){test();}publicvoidtest(){System.out.println("将要被子类重写的方法");}}publicclassSubextendsBase{privateStringname="hello";publicvoidtest()//②号test方法{System.out.println("子类重写父类的方法,"+"其name字符串长度"+name.length());}publicstaticvoidmain(String[]args){Subs=newSub();}}
2 回答
千万里不及你
TA贡献1784条经验 获得超9个赞
Java的构造函数是从基类到子类一个一个顺序执行的,另外privateStringname="hello";这样的成员变量初值其实也是构造函数的一部分。
添加回答
举报
0/150
提交
取消