Questões sobre Imutabilidade
Questão 1
O que caracteriza um objeto imutável?A.
Seus atributos podem ser alterados a qualquer momento. B.
Seu estado não pode ser alterado após a criação. C.
Possui obrigatoriamente métodos setters. D.
Pode ter apenas atributos públicos.
Questão 2
Qual palavra reservada do Java é frequentemente utilizada para implementar imutabilidade em atributos?A.
static B.
abstract C.
final D.
protected
Questão 3
Qual das práticas abaixo é recomendada para criar uma classe imutável?A.
Declarar atributos como public. B.
Fornecer métodos setters para todos os atributos. C.
Declarar atributos como private e final. D.
Permitir acesso direto aos atributos.
Questão 4
Uma classe possui apenas atributos A.
Sim, porque os atributos são final. B.
Não, pois métodos setters permitem alterar o estado. C.
Sim, desde que utilize construtor. D.
Sim, porque final garante imutabilidade completa.
private final, mas também possui métodos setters. Ela pode ser considerada imutável?Questão 5
Analise o código abaixo.
Qual característica torna essa classe imutável?A.
O método name() retorna String. B.
O atributo é final e não existe setter. C.
O atributo é privado. D.
O construtor recebe parâmetros.
class Person {
private final String name;
public Person(String name) {
this.name = name;
}
public String name() {
return name;
}
}
Questão 6
Qual afirmação sobre atributos final é correta?A.
Impedem qualquer alteração no estado interno dos objetos referenciados. B.
Impedem a reatribuição da variável após a inicialização. C.
Tornam automaticamente a classe imutável. D.
Permitem alterar o valor apenas uma vez por método.
Questão 7
Analise o código abaixo.
Qual afirmação é correta?A.
A lista não pode receber novos elementos. B.
O atributo members pode apontar para outra lista. C.
A referência é final, mas os elementos da lista podem ser alterados. D.
A classe é obrigatoriamente imutável.
class Team {
private final List members = new ArrayList<>();
public List getMembers() {
return members;
}
}
Questão 8
Como objetos imutáveis normalmente realizam modificações em seus dados?A.
Alterando diretamente os atributos privados. B.
Utilizando métodos setters. C.
Criando uma nova instância com os dados modificados. D.
Tornando os atributos públicos temporariamente.
Questão 9
O que é um record em Java?A.
Um tipo especial para representar objetos de dados imutáveis. B.
Uma interface para armazenar registros em arquivos. C.
Um tipo de coleção da API Collections. D.
Um substituto para classes abstratas.
Questão 10
Ao declarar um record, quais elementos são gerados automaticamente pelo compilador?A.
Apenas os atributos. B.
Apenas os getters. C.
Construtor, métodos de acesso, equals, hashCode e toString. D.
Apenas equals e hashCode.