class Base
{
public Base()
{
test();
}
public void test() //1号
{
System.out.println("将被子类重写的方法");
}
}
public class Sub extends Base
{
private String name;
public void test()//2号
{
System.out.println("子类重写父类的方法,"+“”其name字符串长度“+name.length);//这里有你的输入错误。你在+后面的引号是汉语中的引号,不是英文的。
//还有这里的name你定义成String,那么获取其长度length();必须有括号。这个是数组取长度不一样。
//char[] ch = new char('a','v','d') 数组取长是ch.length
}
public static void main(String [] args)
{
Sub s=new Sub();
}
}
系统创建Sub对象时,会先执行父类构造器,Base构造器调用2号test方法,引发空指针异常,为什么?
如何修改使他正确? |