Construtores em Java
Gabarito: letra E. O trecho das linhas 5, 6 e 7 do código é um construtor, um método especial que inicializa objetos e é chamado automaticamente quando um objeto é criado com a palavra-chave new. O construtor tem o mesmo nome da classe e não possui tipo de retorno — características que o distinguem de um método comum.
Um construtor é um dos pilares da Programação Orientada a Objetos (POO). Ele é responsável por estabelecer o estado inicial de um objeto, definindo valores para seus atributos no momento da criação. Em Java, toda classe possui pelo menos um construtor: se o programador não declarar nenhum, o compilador fornece um construtor padrão (sem parâmetros) que não inicializa os atributos com valores específicos.
A sintaxe de um construtor é simples: ele tem exatamente o mesmo nome da classe e não declara um tipo de retorno (nem mesmo void). Isso é o que o diferencia de um método comum. Por exemplo, se temos uma classe Principal, o construtor será declarado como public Principal() { ... }. Quando o código executa new Principal(), o Java aloca memória para o objeto e chama automaticamente esse construtor, que pode inicializar os atributos.
Na prática, considere uma classe Carro com um atributo velocidade. Um construtor pode ser definido como public Carro() { velocidade = 0; }. Ao criar um objeto com Carro meuCarro = new Carro();, o atributo velocidade já nasce com o valor 0. Sem o construtor, o atributo ficaria com o valor padrão do tipo (0 para int, null para objetos, etc.).
A pegadinha desta questão está em confundir o construtor com outros elementos da linguagem. O termo "inicializador" (alternativa B) pode parecer atraente, mas em Java "inicializador" refere-se a blocos de inicialização de instância ou estáticos (como { ... } dentro da classe), não ao método especial que cria o objeto. Já "principal" (alternativa C) remete ao método main, o ponto de entrada do programa, que não tem relação com a inicialização de objetos.
Guarde a fronteira: construtor é o método que inicializa o objeto e tem o nome da classe; método principal (main) é o ponto de entrada do programa; inicializador é um bloco de código que roda antes do construtor. É exatamente nessa distinção que as alternativas se dividem.
Alternativa A — ❌ Incorreta
"Referencial" não é um termo da linguagem Java para designar o trecho de código. Em Java, "referência" é o tipo de variável que armazena o endereço de um objeto (como em Principal meuObj = new Principal();), mas não é o nome do método que inicializa o objeto. A alternativa confunde o conceito de variável de referência com o construtor.
Alternativa B — ❌ Incorreta
"Inicializador" é um termo que existe em Java, mas designa blocos de inicialização (blocos de instância ou estáticos), não o construtor. Um bloco inicializador de instância é declarado com chaves { ... } diretamente na classe e é executado antes do construtor. O construtor, por sua vez, é um método com o nome da classe, e é ele que inicializa os atributos do objeto. A alternativa troca o conceito de bloco inicializador pelo de construtor.
Alternativa C — ❌ Incorreta
"Principal" remete ao método main, que é o ponto de entrada de um programa Java (public static void main(String[] args)). O método main é estático e pertence à classe, mas não é responsável por inicializar objetos. O trecho das linhas 5, 6 e 7, por ser um construtor, não é o método principal. A alternativa confunde o método de entrada do programa com o construtor.
Alternativa D — ❌ Incorreta
"Dominante" não é um termo técnico da linguagem Java. Não existe nenhum elemento chamado "dominante" na sintaxe ou na semântica da linguagem. A alternativa é um distrator puro, sem correspondência com qualquer conceito de Java.
Alternativa E — ✅ Correta ⟵ GABARITO
O trecho das linhas 5, 6 e 7 é um construtor. Ele tem o mesmo nome da classe, não possui tipo de retorno e é chamado automaticamente quando um objeto é criado com new. O construtor serve para inicializar os atributos do objeto, definindo seus valores iniciais. No exemplo do código, o construtor define o valor inicial do atributo x como 5, e ao criar o objeto com new Principal(), o atributo x já é inicializado com esse valor.
Conceito (Java):
Um construtor é um método especial utilizado para inicializar objetos. O construtor é chamado quando um objeto de uma classe é criado. Ele pode ser usado para definir valores iniciais para os atributos do objeto. O nome do construtor deve ser igual ao nome da classe e ele não pode ter um tipo de retorno.
Gabarito: letra E