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:
- A)final
Correta, porque final impede a reatribuição do atributo após sua inicialização, barrando a alteração do valor.
- B)static
Errada, porque static apenas faz o atributo ser compartilhado pela classe, sem impedir mudança de conteúdo.
- C)private
Errada, porque private restringe o acesso direto ao campo, mas não o torna imutável por si só.
- D)abstract
Errada, porque abstract se relaciona a classes e métodos incompletos, não à proteção de um atributo contra alteração.
- E)protected
Errada, porque protected define nível de acesso, não bloqueia a modificação do valor do atributo.
Gabarito: A
Em Java, se a ideia é impedir que um valor seja trocado depois de definido, voce usa o modificador final. Ele “trava” a referência ou o valor da variável, evitando reatribuição. Neste exemplo, o campo orgao recebe "MPU" e, com final, não poderia ser alterado para "MMPPUU" durante a execução. Vale notar a diferença: static só faz o atributo pertencer à classe, não impede mudança de valor. private só restringe acesso, mas não torna o campo imutável. protected também trata de visibilidade, não de proteção contra alteração. Por isso, o gabarito é a letra A. Em linguagem de concurso, a palavra-chave final é a que expressa a ideia de “não mexe mais nisso”.