Vamos analisar passo a passo como o Java inicializa um objeto: valores padrão dos campos, inicialização explícita, blocos de inicialização não estáticos e a chamada final do construtor via
new. No exemplo da classe
Person veremos a ordem efetiva da saída, uma tabela de valores padrão, um fluxograma e erros típicos (duplicação de lógica, expectativas sobre
static, trabalho com
null, chamada de construtor via
this(...)).