← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

Marcos está trabalhando em um projeto de sistemas em Java e quer garantir que o atributo de uma classe seja inicializado apenas uma vez e que seu valor não possa ser modificado posteriormente. Na linguagem de programação Java, esse atributo deve ser definido com o modificado

Gabarito: C

Em Java, quando você quer que um atributo seja definido uma vez e depois fique travado, a palavra-chave que interessa é final. Ela indica que a referência ou o valor associado àquele campo não pode ser reatribuído após a inicialização, o que atende exatamente à ideia da questão. Pense nela como uma espécie de etiqueta de "não mexa mais aqui" no atributo. Isso não significa, porém, que o objeto apontado por uma referência final seja necessariamente imutável. Se o atributo guardar um objeto mutável, o conteúdo interno desse objeto pode mudar, embora a referência continue a mesma. Em prova, a banca costuma cobrar essa diferença com cuidado. No caso descrito, Marcos quer garantir inicialização única e impossibilidade de modificação posterior. Em Java, isso é feito com final, seja no atributo diretamente, seja em conjunto com construtor ou inicialização de bloco. É por isso que o gabarito é a alternativa C. As demais opções tratam de outros assuntos: abstract diz respeito a classe ou método abstrato, default aparece em outros contextos da linguagem, native indica método implementado fora do Java, e volatile está ligado à visibilidade de variáveis entre threads, não à imutabilidade.

Continue treinando

Questões relacionadas