Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Qual modificador? #java

Qual modificador é visível nos seguintes lugares?

Classe   Package   Classe Filho   Qualquer Package
────────────────────────────────────────────
 ✔        ✔         ✔             ✘
────────────────────────────────────────────

A - public

B - protected

C - <<package private>> (ausência do modificador)

D - private

A resposta para a pergunta é a letra B.

Minha duvida é porque não seria a letra C ?

pelos meus testes aqui uma classe com um atributo protected pode ser visível de outro pacote. Basta uma outra classe extender ela e de dentro de algum metodo chamar o super.nomeAtributo = "teste" por exemplo. Isso não acontece com a visibilidade padrao que para o teste anterior não compilaria.

3 respostas

A segunda pergunta achei mais confusa ainda.

Qual modificador é visível nos seguintes lugares?

Classe   Package   Classe Filho   Qualquer Package
────────────────────────────────────────────
 ✔        ✔            ✘           ✘
────────────────────────────────────────────

A - public

B - protected

C - <<package private>> (ausência do modificador)

D - private

resposta: C

package private é visível para os Classes Filho também se estiverem no mesmo pacote; concordo com a resposta, mas acho que colocar o "X" para classe filho deixa uma dúvida no ar. Acho a pergunta um pouco confusa.

solução!

Olá Israel

A justificativa é porque o package private só fica visível para classes do mesmo pacote. Uma vez que a minha esteja fora do mesmo pacote, mesmo sendo uma classe filha, ela não verá os atributos/métodos package private de sua classe mãe.

É verdade que se estiver no mesmo pacote, classes filhas podem ver atributos/métodos package private. Porém isto se deve ao fato de estarem no mesmo pacote, e não ao fato de ser uma classe filha.

Para garantir que a classe filha possa enxergar seu atributo, só deixando com o modificador protected. Por isso, a primeira questão não pode ser a opção "C"; e a segunda questão deixa um "X" para a classe filha.

muito obrigado Eric por me tirar essa duvida;

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software