public class A {
private B b;
public A(){
b =new B();
System.out.println("A");
}
public class B {
static {
System.out.println("B");
}
}
public class C {
private A a;
private B b;
public C(){
a = new A();
b = new B();
System.out.println("C");
}
}
public class Main {
public static void main(String[] args) {
C c = new C();
}
}
No meu entendimento erra para sair
BABC, mas a saída é BAC, QUAL A MÁGICA, PQ ELE NÃO CHAMA o construtor new B() duas vezes ? e onde eu posso encontrar uma material explicando isso ?