首先你要明白一点,在实例化类的时候,会由父级开始执行构造方法,并逐级向下执行。如果不写super的话,则会默认执行无参构造方法,当写了super(...)时则会执行指定的父级构造方法。(注意 super语句需要写到构造方法的首行)
根据以上可以得知 C 构造方法中,指定了 B的 含参构造方法,B的含参构造方法下首行无super语句,则执行默认A的无参构造方法。那么构造栈为: A() -> B(String message) -> C()