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?
[quote=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?
[/quote]
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.
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.
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.