Na linguagem Java quando não é declarado nenhum modificador...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a D: exclusivamente por classes no mesmo pacote da classe dos elementos.
Vamos entender o motivo desta ser a alternativa correta e analisar as demais alternativas.
D - exclusivamente por classes no mesmo pacote da classe dos elementos
Em Java, quando não é declarado nenhum modificador de acesso antes da definição de uma classe ou membros de classe (atributos e métodos), o acesso padrão (também conhecido como default ou package-private) é aplicado. Isso significa que esses elementos são acessíveis somente por outras classes que estão no mesmo pacote. Portanto, a alternativa D é a correta.
A - exclusivamente pela própria classe que os definiu
Essa alternativa está incorreta. O acesso exclusivo pela própria classe é caracterizado pelo modificador de acesso private. No caso de acesso padrão, outras classes do mesmo pacote também podem acessar os membros da classe.
B - exclusivamente pelos métodos internos da classe e das suas subclasses
Esta alternativa está incorreta. O modificador que permite o acesso à classe e às suas subclasses é o protected. No caso do modificador padrão, o acesso é limitado ao pacote, não considerando hierarquia de herança para acesso fora do pacote.
C - tanto pela própria classe quanto por qualquer classe que tente acessá-los
Esta alternativa também está incorreta. O acesso que permite qualquer classe acessar os membros de uma outra classe é o public. O modificador padrão não permite tal nível de acesso; ele restringe o acesso às classes no mesmo pacote.
Para resolver questões desse tipo, é importante ter conhecimento sobre os modificadores de acesso em Java, que são:
- public: acesso por qualquer outra classe.
- protected: acesso por classes no mesmo pacote e subclasses.
- private: acesso apenas dentro da própria classe.
- default (quando nenhum modificador é especificado): acesso apenas por classes no mesmo pacote.
Compreender esses conceitos é essencial para responder corretamente perguntas sobre modificadores de acesso em linguagem 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
Modificadores de acesso são palavras-chave usadas em Java para controlar a visibilidade de membros de uma classe, como atributos e métodos. Existem três modificadores de acesso:
- public: O acesso público é o mais permissivo. Qualquer classe pode acessar membros públicos.
- private: O acesso privado é o mais restritivo. Apenas a classe que define o membro pode acessar membros privados.
- protected: O acesso protected é intermediário entre public e private. Membros protected podem ser acessados por classes descendentes da classe que define o membro.
Putz....
"Se nenhum modificador de acesso (public, protected ou private — protected será discutido no Capítulo 9) for especificado para um método ou variável quando esse método ou variável é declarado em uma classe, o método ou variável será considerado como tendo acesso de pacote."
Deitel, Java: como programar, 10ed.
Gabarito está errado hein... Esta B aí "exclusivamente pelos métodos internos da classe e das suas subclasses" se refere ao modificador de acesso protected, sendo que, quando não é declarado nenhum modificador de acesso, automaticamente o sistema define como default, que por sua vez permite o acesso apenas às classes localizadas no mesmo pacote, alternativa certa aí será a D.
A letra D é a correta.
Quando não for declarado nenhum modificador de acesso o java toma como modificador o default que é o nível de visibilidade pacote, nesse caso só quem pode ter acesso a classe é a própria classe ou classes no mesmo pacote.
Dessa forma, a que melhor se encaixa é a alternativa D.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo