Salve, vorrei cercare di non imparare a memoria quello che succede nel seguente codice:
codice:
class A {
	public A() {
		System.out.print("A ");
	}
}


class B extends A {
	public B() {
		System.out.print("B ");
	}
}


public class C extends B {
	public C() {
		System.out.print("C ");
	}
	public static void main(String args[]) {
		C c = new C();
	}
}
A me viene da pensare che l'output sia C B A, invece è A B C.
E' dovuto al fatto che, proprio nel leggere il flusso di codice, C estende B (e B estende A) prima di entrare nel merito dei loro costruttori?