Sobre as variáveis e os métodos declarados como private, em ...

Próximas questões
Com base no mesmo assunto
Q914439 Programação
Sobre as variáveis e os métodos declarados como private, em Java, analise as afirmativas a seguir. I. Ficam acessíveis somente aos membros da própria classe. II. Ficam acessíveis somente às classes definidas no mesmo package. III. Ficam acessíveis somente para suas classes derivadas. Está correto o que se afirma em
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: A - I, apenas.

Para entender o gabarito dessa questão é crucial compreender o conceito de visibilidade em Java, que é um dos pilares da programação orientada a objetos. A palavra-chave private é utilizada para definir o nível de acesso de variáveis e métodos dentro de uma classe.

Quando você declara um membro (seja ele um método ou uma variável) como private, você está dizendo que esse membro só pode ser acessado diretamente dentro da própria classe onde foi declarado. Isso significa que outras classes, mesmo aquelas que estão no mesmo pacote (package) ou subclasses derivadas, não têm acesso a esse membro.

Portanto, a afirmação I está correta, pois membros private são, de fato, acessíveis somente pelos membros da própria classe. Isso é um mecanismo de encapsulamento que ajuda a proteger os dados e a implementação interna da classe, permitindo que a classe tenha controle total sobre o que é exposto para outras partes do código.

As afirmações II e III são incorretas:

  • A afirmação II sugere que membros private são acessíveis às classes no mesmo pacote, o que não é verdade. Para esse nível de visibilidade, usamos o modificador default (sem modificador explícito), ou protected, que também permite visibilidade para subclasses.
  • A afirmação III diz que os membros private são acessíveis para suas classes derivadas, o que também é incorreto. Para permitir esse acesso, utilizamos o modificador protected.

Assim, a resposta correta é a Alternativa A, pois apenas a primeira afirmação reflete corretamente o comportamento do modificador de acesso private no Java.

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

Pessoal, existe uma tabelinha bem legal a respeito do acesso dos membros da classe (atributos e métodos) de acordo com o modificador. 

 

Modificador/Acesso |   classe    |   pacote   |  subclasse  | todos

            public             |     SIM        |     SIM      |     SIM        |    SIM

          protected          |      SIM       |      SIM     |      SIM       |    NÃO

   sem modificador       |      SIM       |      SIM     |      NÃO      |    NÃO

          private              |     SIM        |     NÃO    |       NÃO      |    NÃO

 

Analisando cada afirmativa, temos:

I. Verdadeiro. O modificador private é o mais restritivo e permite apenas que  membros da própria classe acessem um campo ou chame um método declarado com esse modificador.

II. Falso. Todos os modificadores, com exceção do private, permitem que os membros sejam acessados pelas classes definidas no mesmo pacote.

II. Falso. Somente os modificadores public e protected permitem que membros de uma classe sejam acessados pelas suas subclasses.


GABARITO: Alternativa a) I, apenas

 

Fonte: https://docs.oracle.com/javase/tutorial/java/javaOO/accesscontrol.html

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo