1
resposta

[Dúvida] Não consegui entender direito o motivo do loop.

Ainda não consegui compreender com clareza o motivo do loop dessa questão, alguém pode mastigar a questão e me ajudar ? Obrigado !

class B { B(A a) {new C(); } B() { new C(this);} }
class C { C(B b) {new B(new A());} C() {new B();} }
class A {
    public static void main(String[] args) {
        new C(new B(new A()));
    }
}
1 resposta

Então, nessa execução ela começa com a criação de uma instância da classe A. Dai essa instância é usada para criar uma instância da classe B que sua responsabilidade seria de para criar uma instância da classe C. Resumindo o código cria uma cadeia de dependências entre as três classes, onde cada classe depende da criação da classe subsequente, pelo que entendi seria isso rs.