Pular para o conteúdo principal

Questão de Programação — Plataforma Java — FGV 2025

ProgramaçãoPlataforma Java
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
Observe o seguinte código Java reutilizado em todos os Sistemas de Informação do MPU.public class Main {String orgao = "MPU";public static void main(String[] args) {Main myObj = new Main();myObj.orgao = "MMPPUU";System.out.println(myObj.orgao);}}No Java, para garantir que nenhum comando altere o valor do atributo orgao da classe Main durante a execução do programa, deve-se declarar o atributo orgao como:
  1. Afinal
  2. Bstatic
  3. Cprivate
  4. Dabstract
  5. Eprotected
Revelar gabarito e comentário

GabaritoA — final

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”.

Java – Modificador 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.

NÃO CAIA NESSA!

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.

1final
Impede reatribuição
Erro de compilação ao alterar
2private
Oculta de outras classes
Permite alteração na própria classe
3static
Pertence à classe
Permite reatribuição
4protected
Visibilidade a subclasses
Permite reatribuição
5abstract
Não aplicável a atributos
Modificadores em Java
LEVELsoulevel.com.br
Modificadores em Java: final (Impede reatribuição, Erro de compilação ao alterar); private (Oculta de outras classes, Permite alteração na própria classe); static (Pertence à classe, Permite reatribuição); protected (Visibilidade a subclasses, Permite reatribuição); abstract (Não aplicável a atributos)

Alternativa A — ✅ Correta ⟵ GABARITO

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.

Alternativa B — ❌ Incorreta

static – Torna o campo pertencente à classe, não à instância, mas ainda permite reatribuição. A proteção contra alteração não é fornecida.

Alternativa C — ❌ Incorreta

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.

Alternativa D — ❌ Incorreta

abstract – Não é aplicável a atributos; usado apenas em classes e métodos. Não faz sentido no contexto.

Alternativa E — ❌ Incorreta

protected – Controla visibilidade para subclasses e mesmo pacote, mas não impede reatribuição. O campo continua mutável.

PEGA ESSA DICA!

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