Protected dá acesso do atributo/método tanto a todas as subclasses dessa classe, quanto às classes do pacote no qual a mesma classe está incluído. O modificador friendly, quando vc não coloca modificador nenhum, é mais restritivo que o protected. A seguinte sequência apresenta os especificadores de acesso em Java, do mais abrangente ao mais restrito: public -> protected -> friendly (nenhum modificador) -> private
Rosfran Lins Borges Analista de Sistemas - NDS [EMAIL PROTECTED] Fóton® Informática e Serviços Fone: (61) 328 5060 R.: 204 ----- Original Message ----- From: "Tomaz Foa Binsztajn" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, April 12, 2002 4:59 PM Subject: Re: [java-list] bug Java - protected > Gaúcho: > > Posso estar falando bobagem (se estiver, me corrija), mas o protected não > promove acesso de pacote a variável. > Na minha opinião, você poderia acessar a variável nome de SuperClasse dentro > da classe Teste porque elas estão no mesmo pacote. Não vejo de errado nisso... > > []s > > Tomaz > > On Thursday 11 April 2002 08:19, you wrote: > > Alguém sabe se no jdk1.4 o problema do protected já foi resolvido ? > > > > Para quem não sabe, o modificador protected não funciona como deveria. > > > > Na verdade, em Java, quando você declara uma variável protegida, ela acaba > > tendo acessibilidade pública. > > > > O único encapsulamento provido pelo protected é o encapsulamento em relação > > ao pacotes. Mas no caso da implementação de classes desvinculadas de > > pacotes, o modificador "protected" infelizmente não funciona... > > > > Duvida? :^)) faça um teste: implemente uma classe com algum membro > > "protected" e depois tente acessá-lo de outra classe que não seja estendida > > da primeira: > > > > class Superclasse > > { > > protected String nome = null; > > } > > > > public class Teste > > { > > static public void main(String[] args) > > { > > new Teste(); > > } > > > > Teste() > > { > > Superclasse pai = new Superclasse(); > > > > // isso não deveria ser acessível somente pela classe > > // Superclasse ou uma de suas subclasses ?? > > pai.nome = "oo"; > > } > > } > > > > > > ------------------------------ LISTA SOUJAVA ---------------------------- > > http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP > > dúvidas mais comuns: http://www.soujava.org.br/faq.htm > > regras da lista: http://www.soujava.org.br/regras.htm > > historico: http://www.mail-archive.com/java-list%40soujava.org.br > > para sair da lista: envie email para [EMAIL PROTECTED] > > ------------------------------------------------------------------------- > > ------------------------------ LISTA SOUJAVA ---------------------------- > http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP > dúvidas mais comuns: http://www.soujava.org.br/faq.htm > regras da lista: http://www.soujava.org.br/regras.htm > historico: http://www.mail-archive.com/java-list%40soujava.org.br > para sair da lista: envie email para [EMAIL PROTECTED] > ------------------------------------------------------------------------- ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usuários Java da Sucesu-SP dúvidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------