Wenn Sie einen Superklassenkonstruktor aus einer untergeordneten Klasse der zweiten Ebene verwenden, wird das Argument an den Großelternkonstruktor oder den unmittelbaren übergeordneten Konstruktor übergeben?Aufruf des Superklassenkonstruktors aus der Enkelklasse, ruft Eltern- oder Großelternkonstruktor auf?
//top class
public First(type first){
varFirst = first;
}
//child of First
public Second(type second){
super(second); //calls First(second)
}
//child of Second
public Third(type third){
super(third); //calls First(third) or Second(third)?
}
Typ (Klasse Typ gemäß Benennungskonventionen) unter der Annahme derselben für alle 3 Klassen, und varFirst ist auch eine Instanz von Type, dann ** Yes **, Beispielbeispiel, das Sie ausprobieren können: Ersetze Typ mit ** int ** und bei jedem Konstruktor System.out.println (intValue); -> Konstruktor Third übergibt einen Wert say * 2 * an Second und an First ABER das Drucken von Sysout wird der Reihenfolge First-Second-Third (kurz Third wird nur Second aufrufen, BUT Second wird First aufrufen und der Flow geht weiter) –