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