Salve a tutti,ho il seguente codice:
Perchè l'output è il seguente?codice:class A{ public A(){ System.out.println("A()"); } } class B{ public B(){ System.out.println("B()"); } } class C extends A{ public C(){ System.out.println("C()"); } B b =new B(); } class TestC{ public static void main(String[] args){ C c= new C(); }
A()
B()
C()
non dovrebbe essere
A()
C()
B()
Mi spiego meglio quando creo l'oggetto c in main chiamo il suo costruttore il compilatore si rende conto che la classe è derivate da A e quindi chiama il costruttore A().Perchè poi chiama B() e solo successivamente conclude il costruttore C()?Non so se sono stato chiaro.Saluti.

Rispondi quotando
