重写时会有什么执行流程?我相信的是,当我们调用任何类的构造函数/对象时,在执行时首先调用父构造函数而不是子进程。但在过度消除的情况下会发生什么? 让假设:Java执行流程?
class A {
public A(){
printStatus();
}
public void printStatus(){
System.out.println("In Class A");
}
}
class B extends A{
public B(){
printStatus();
}
@Override
public void printStatus(){
System.out.println("In Class b");
}
}
public class Test2 {
public static void main(String[] args){
B b = new B();
}
}
出把这段代码是:
In Class b
In Class b
我不明白的是,为什么它的打印“在课堂上”而已,它应该是“在A级和,在类b“,
当我从类b中删除重写方法。它给了我想要的输出。
请格式化你的代码 – david99world