外观
2025-06-03-118 Java-继承完+多态
主要记录的是上课(复习)出错的地方
Java
public class Father {
public Father() {
func();
}
public void func() {
System.out.println("Father func()...");
}
public static void main(String[] args) {
new Son(); // 打印什么?
}
}
class Son extends Father {
private int age = 1;
@Override
public void func() {
System.out.println("Son func... age = " + age);
}
}这是不能建议使用的,仅仅用来当作课外知识记忆
打印的是 Son func... age = 0
原因
- 依然会动态绑定
- 打印的时候 父类还没有构造完毕 --> 所以 子类也就没有构造 --> int 默认为 0 --> 打印 age = 0