Uma classe pode acessar atributos de uma superclasse mesmo ...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Gabarito: E - errado
Na linguagem Java, o encapsulamento é um princípio fundamental da programação orientada a objetos (POO). Este princípio permite que o acesso aos atributos e métodos de uma classe seja controlado. Em Java, existem quatro níveis de visibilidade para atributos e métodos: public, protected, default (nenhum modificador) e private.
O modificador private é o mais restritivo, significando que o atributo ou método só pode ser acessado dentro da própria classe em que foi declarado. Isso implica que, mesmo em uma relação de herança, uma subclasse não é capaz de acessar diretamente atributos private da sua superclasse. Portanto, se uma classe deseja expor algum atributo privado à suas subclasses, ela deve fornecer métodos de acesso, como getters e setters, que são métodos public ou protected destinados a ler e modificar, respectivamente, os valores desses atributos privados.
Assim, a afirmação de que "Uma classe pode acessar atributos de uma superclasse mesmo quando eles são declarados como private" está incorreta porque viola as regras de encapsulamento em Java. A maneira correta de uma subclasse acessar atributos privados da superclasse é através de métodos de acesso definidos na própria superclasse, o que não é um acesso direto aos atributos, mas sim um acesso controlado e intencionalmente permitido pela superclasse.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
"Uma classe pode acessar atributos de uma superclasse mesmo quando eles são declarados como protected."
Privado (-): Significa que os objetos da classe detentora do atributo ou método poderão enxergá-lo ou utilizá-lo.
Protegido (#): Determina que além dos objetos da classe detentora do atributo ou método também os objetos de suas subclasses poderão ter acesso ao mesmo.
Pública (+): Determina que o atributo ou método pode ser utilizado por qualquer objeto.
Pacote (~): Determina que o atributo ou método é visivel por qualquer objeto dentro do pacote.
Aquele tipo de questão que é certa e errada ao mesmo tempo
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo