1.
package com.mesakii.test;
public class Base_Sub {
class Base{
public Base() {
test();
}
public void test() {
System.out.println("这个test方法将被子类重写"
);
}
}
class Sub
extends Base{
private String name;
public void test() {
System.out.println("子类重写父类的方法,其name字符串的长度为"+
name.length());
}
public void main(String[] args) {
//Sub s = new Sub();
/*
* 上面这句话会产生错误,当系统视图创建Sub的对象s时,会先执行父类的构造器,而父类的构造器中调用的test()方法又被子类重写,所以对象s
* 先执行父类的构造器,构造器重调用的方法是子类的方法,子类中的name 为空,所以,发生指针异常
*/
}
}
}
转载于:https://www.cnblogs.com/mesakiiyui/p/7657316.html