Pular para o conteúdo principal

Questão de Programação — Java — FUNDATEC 2024

ProgramaçãoJava
Código
qg164401
Banca
FUNDATEC
Órgão
IF Sul - MG
Ano
2024
Nível
Superior
Cargo
Professor do Ensino Básico, técnico e Tecnológico: MCH-02 - Informática
Analise o código abaixo, escrito na linguagem Java:Imagem associada para resolução da questãoNo código acima, o trecho das linhas 5, 6 e 7 é conhecido como:
  1. AReferencial.
  2. BInicializador.
  3. CPrincipal.
  4. DDominante.
  5. EConstrutor.
Revelar gabarito e comentário

GabaritoE — Construtor.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

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

Link permanente: /questoes/qg164401