在看java继承这一部分的时候想到了一个问题,即父类未被子类覆盖的方法是如何调用的?
写了三个类来测试一下:
父类:
//父类
public class father {
father(){
}
private int age = 25;
public int getAge() {
return age;
}
}
子类:
public class son extends father{
son(){
}
private int age = 1;
}
测试类:
public class testSuccess {
public static void main(String[] args) {
son lihua = new son();
System.out.println(lihua.getAge());
}
}
问题:
子类和父类中的 age 字段都被设置为了 private ,也就是说子类无法继承这个实例字段。如果子类不覆盖父类的getAge方法,那子类对象的getAge方法返回的是子类的age还是父类的age呢?
测试结果:
也就是说,如果子类不覆盖父类的方法,那子类对象在调用时,调用的是父类里的方法。