java继承类时你注意到这了吗

java使用继承需要注意的地方

在构建子类时先构建父类,用到父类的test方法,而子类重写了父类的test方法,所以此时实际调用子类了test方法,而子类test无name属性,所以name为null而非Ok


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();
	}
} 

发表评论

电子邮件地址不会被公开。 必填项已用*标注