Questão de Programação — Plataforma Java — FGV 2025
- Código
- fg116143
- Banca
- FGV
- Órgão
- MPU
- Ano
- 2025
- Nível
- Superior
- Cargo
- Analista do - Perito em Tecnologia da Informação e Comunicação
- Afinal
- Bstatic
- Cprivate
- Dabstract
- Eprotected
GabaritoA — final
Gabarito: letra A. Para impedir que o valor do atributo orgao seja alterado durante a execução, deve-se declará-lo como final. Esse modificador torna a variável de instância imutável após a inicialização, gerando erro de compilação em qualquer tentativa de reatribuição.
A questão testa o conhecimento sobre os modificadores de atributos em Java. O código cria uma instância da classe Main e tenta alterar o valor de orgao diretamente. Para bloquear essa alteração, precisamos de um modificador que impeça a reatribuição, não apenas restrinja o acesso.
A banca quer confundir private com final. private oculta o atributo de outras classes, mas dentro da própria classe ele continua podendo ser alterado – como ocorre no método main. Já final impede qualquer reatribuição, independentemente de onde a tentativa ocorra.
final – Uma vez inicializada, a variável não pode receber nova atribuição. No código, a linha myObj.orgao = "MMPPUU"; causaria erro de compilação. É a solução que garante a imutabilidade do atributo.
static – Torna o campo pertencente à classe, não à instância, mas ainda permite reatribuição. A proteção contra alteração não é fornecida.
private – Impede acesso de fora da classe, mas dentro da própria classe o campo continua acessível. Como o método main está na classe Main, a alteração é permitida. Não atende ao objetivo.
abstract – Não é aplicável a atributos; usado apenas em classes e métodos. Não faz sentido no contexto.
protected – Controla visibilidade para subclasses e mesmo pacote, mas não impede reatribuição. O campo continua mutável.
Para fixar: final = não muda; private = não veem. Em Java, imutabilidade exige final (ou criação de uma cópia defensiva). Memorize: "final fixa, private escode, mas não prende".
Gabarito: letra A.
Link permanente: /questoes/fg116143