Qual é a função de protected ?
Protected
4 Respostas
De acordo com a “The Java Language Specification”, secao 6.6 ( http://java.sun.com/docs/books/jls/second_edition/html/names.doc.html#104285 ),
“protected” garante que o acesso ao membro ou método da classe seja possível desde que feito no mesmo pacote. Em outras palavras, voce tem um acesso mais restritivo que public ( o qual permite voce acessar tudo de qualquer lugar ) , porem menos restritivo que “private” ( onde somente eh possivel acesso dentro da classe ),
Ha um detalhe na secao 6.6.2 onde diz que o acesso ao membro ou metodo “protected” é permitido fora do pacote onde foi definido desde que a classe que estaja tentando acessar a propriedade seja uma subclasse da classe que define a propriedade “protected”.
Rafael
E mais uma coisa. Se não for especificado nenhum modificador de acesso, então o método/atributo, o que seja, é visível apenas dentro do mesmo pacote, tendo uma visibilidade default. A hierarquia ficaria ± assim.
public - visível ao resto do mundo
|
protected - classes filhas e classes no mesmo pacote
|
default - mesmo pacote
|
private - apenas na própria classe
Uhumm…Cara até onde eu sei quando não for declarado modificador de acesso o default é public.
Nao é? :shock:
Quando voce não declarar, o modificador de acesso será o “default” mesmo.
Que dá acesso as classes do mesmo pacote.