class Father{
public Father(){
method();
}
public void method(){
System.out.println(“爸爸”);
}
}
class Son extends Father{
public Son(){
super.method();
}
public void method(){
System.out.println(“儿子”);
}
}
public class Test {
public static void main(String[] args) {
Father son = new Son();
}
}
输出的结果是:
儿子
儿子
说明:
1、父类有method方法
2、子类重写了父类的method方法
3、用子类实例化父类
4、构造方法调用method方法
5、构造方法中调用method方法,此时的method方法是子类重写的方法。
也就是说,如果父类是被子类实例化的(向上转型),且子类重写了父类中的某个方法,此时父类调用这个方法,是被子类重写之后的方法。