O modificador
protectedpermite que um membro seja acessado dentro de seu pacote e por subclasses em outros pacotes.Um membro protegido pode ser usado por todas as subclasses, mas continua protegido contra acesso de códigos externos ao pacote.
Um exemplo pode ajudar a entender melhor o efeito de
protected.No exemplo, a classe Book é alterada para que suas variáveis de instância sejam
protected.
Crie uma subclasse de Book chamada ExtBook.
Crie uma classe chamada ProtectDemo que utiliza ExtBook.
ExtBook adiciona um campo para armazenar o nome do editor.
ExtBook também possui vários métodos acessadores.
As duas classes (ExtBook e ProtectDemo) estão no pacote bookpackext.
ExtBookestendeBook, o que permite acessar membrosprotecteddeBook, mesmo estando em pacotes diferentes.ExtBookpode acessar diretamente os membrosprotectedcomotitle,authorepubDate, criando métodos acessadores para essas variáveis.Na classe
ProtectDemo, o acesso direto a essas variáveis é negado porqueProtectDemonão é uma subclasse de Book.Se o comentário for removido da linha
books[0].title = "test title";, o programa não será compilado devido à restrição de acesso.




Top comments (0)