代码如下
public class Demo{
public static void main(String[] args){
new Zi();
}
}
class Zi extends Fu{
int age = 10;
public Zi() {
super();
show();
}
public void show() {
System.out.println(age);
}
}
class Fu{
int age = 50;
public Fu() {
super();
show();
}
public void show() {
System.out.println(age);
}
}
执行代码的结果:
0
10
对象属性的中有 = 赋值,那么会先声明这个属性,然后在构造器里进行赋值。
方法的调用是由对象的类型进行决定的。
在 Fu 类初始化的时候,调用了 show() 方法,因为是 new Zi() 所以是子类调用的方法,所以执行的是 Zi 类的 show() 方法。
原文链接