java使用继承需要注意的地方 在构建子类时先构建父类,用到父类的test方法,而子类重写了父类的test方法,所以此时实际调用子类了test方法,而子类test无name属性,所以name为null而非Ok [code lang="java"] class TheBase{ public TheBase(){ test(); } public void test(){ // 一号test System.out.println("将被子类重写的方法"); } } public class TheSub extends TheBase{ private String name="Ok"; public void test(){ // 二号test //在构建子类时先构建父类,用到父类的test方法,而子类重写了父类的test方法,所以此时实际调用子类了test方法,而子类test无name属性,所以name为null而非Ok System.out.println("子类重写父类的方法,其name字符串为" + name); } public static void main(String[] args){ //下面代码将引发空指针异常 TheSub s=new TheSub(); } } [/code]