1
resposta

return vazii

Pelo que entendi a pegadinha dessa questão está no return. O mesmo faz voltar a execução do código para a chamada origem, passando por trechos não executados anteriormente. (Nesse caso imprimindo c). Por fim finalizando no método main.

1 resposta

Oi Manoel,

Exato. Quando a execução chega na linha

this.x(-1);

Uma nova chamada ao método x(-1) do objeto E é realizada (e o fluxo se repete, por isso imprime duas vezes B). Chegando no if(i<0) return; voltará a execução para a primeira chamada e imprimira apenas uma vez a letra C.

Abraço!