Acesso de pacote ou protected? [RESOLVIDO]

6 respostas
M

Não compreendi muito bem a diferença entre a acessibilidade de pacote e a acessibilidade protected.

Todo membro protected tem acessibilidade de pacote, ou seja, um membro protected é acessível a suas subclasses, mas também a todos os tipos no mesmo pacote. Não é redundante ter membros protected em uma classe?

Grato, antecipadamente.

6 Respostas

sergiotaborda

MNeto:
Não compreendi muito bem a diferença entre a acessibilidade de pacote e a acessibilidade protected.

Todo membro protected tem acessibilidade de pacote, ou seja, um membro protected é acessível a suas subclasses, mas também a todos os tipos no mesmo pacote. Não é redundante ter membros protected em uma classe?

Isso tá errado.
Nivel de pacote acessa qq coisa no mesmo pacote. não ha herança na jogada.
Nivel protected acessa qq coisa herdada da classe mae + nivel do seu pacote.

Repare que é o pacote da filha, não da mãe. Essa é a diferença.

Protected é uma forma de extender o acesso às classes filhas. Só às filhas.

B

Na verdade o que ele falou está correto. Só não entendo porque acha que é redundante.

ViniGodoy

Ele acha porque provavelmente não pensou que uma classe filha pode não estar no mesmo pacote da mãe…
Nessa situação, a filha não verá os métodos package privates do pai. Os protected seriam visiveis.

felipehand

Não é rendante não.
O protected certifica acesso apenas para as classes filhas do mesmo pacote.
Ou seja, se vc herdar uma classe do pacote A numa classe do pacote B, vc ainda nao tera acesso a esse metodos, atributos e etc.
Corrijam-me se estiver errado por favor.

abs

ViniGodoy
O protected é visível:

a) Para qualquer classe que esteja no mesmo pacote;

b) Para as classes filhas, em qualquer pacote;

O modificador package é visível:
a) Para qualquer classe que esteja no mesmo pacote;

Portanto, um package private não será visível nem para as filhas, caso as filhas estejam num pacote diferente.

M

Acho que agora entendi a diferença. Muito obrigado.

Terei que ler várias vezes a dica para assimilar.

Criado 3 de setembro de 2009
Ultima resposta 3 de set. de 2009
Respostas 6
Participantes 5