> valor. Isso acaba confundindo algumas pessoas que > generalizam a idéia de que em java os parametros > são passados como valor, quando a regra geral é > justamente o contrário.
eh justamente o contrario! TUDO (os parametros) em java eh PASSADO POR VALOR!... senhor do céu... :D qdo se discute a controversia: "passagem por valor X passagem por referencia" tem q ser lembrado q o q estamos discutindo aki eh a passagem de variaveis aos metodos. e nao seu conteudo!... como em java vc nao consegue fazer uma variavel q foi passada pra um metodo, apontar pra outra coisa (seja um valor primitivo, ou seja um outro objeto) entao o que temos? passagem por valor! nao eh pq vc tah "alterando" valores de objetos, como por exemplo adicionando um elemento num vector, q isso significa q a passagem eh por referencia... eh pq eh um objeto! vc pode trata-lo! mas vc nao pode fazer a variavel que veio ao metodo, apontar pra otra coisa e querer q no codigo sub-sequente ela esteja linda e maravilhosa! vamos criar um book chamado: "Java: Always by Value!"... []`s bruno PS: as vezes axo q essa discussao soh vai terminar quando 100% dos programadores atuais entenderem isso, e pararem de ensinar linguagem estruturada nas faculdades... :) ----- Original Message ----- From: "Hélio Brandão" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Tuesday, July 01, 2003 9:14 AM Subject: Re: [java-list] RE: melhor forma de passar referencia de objetos entre classes? > Stenio, > > > No java as classes passadas como parametros são > passadas como referencia. > Salvo algumas EXCESSÔES como as classes String, > Integer, Boolean (...) que por uma questão de projeto > das > mesmas não permitem que seu conteúdo seja alterado e > portanto a arquitetura delas "simula" uma passagem for > valor. Isso acaba confundindo algumas pessoas que > generalizam a idéia de que em java os parametros > são passados como valor, quando a regra geral é > justamente o contrário. > Esta confusão é plenamente justificavel pois a > Classe String é uma das preferidas para ser > usada como parâmetro em métodos. > > Se vc precisar passar uma String como parâmtro, > use em vez de String a classe StringBuffer. > > Tente usar outras classes, como Calendar, Date, > uma classe que vc contruiu. VC verificará que > a passagem de parametros como referencia é > a regra geral mesmo. > > Utilizo largamente a passagem como referencia > em parsers XML no Java (Ex: Xerces, dom4j). > E funciona MUITO BEM. > > > > > > --- Gustavo Torreti > <[EMAIL PROTECTED]> escreveu: > Olá, > Stenio! > > > > -----Original Message----- > > >Qual é a maneira mais inteligente de se passar > > referencia de uma instancia entre classes? Minha > > situação é a seguinte: para um programa tenho a > > classe que trata da interface como botões, etc, uma > > classe de regra de negócios e outra classe de regra > > de negócios. Precisei de duas classes para separar > > conteudos distintos e pq uma delas tem que ficar > > rodando como thread. A classe interface chama a > > segunda, que em algum momento chama a terceira. Mas > > tem uma hora que a terceira precisa avisar a > > primeira de algo. > > > > > > > > Design pattern recomendado: Observer/Subject. > > Padrão MVC talvez ajude também. > > > > > > > > > []'s > > > > Gustavo > > > > > ---------------------------------------------------------- > > In the brightest day, In the blackest night, > > No evil shall escape my sight > > May those who worship evil's might > > Beware of the power of my light > > > > ------------------------------ 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] > > > ------------------------------------------------------------------------- > > > > _______________________________________________________________________ > Yahoo! Mail > Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, proteção contra spam. > http://br.mail.yahoo.com/ > > ------------------------------ 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] -------------------------------------------------------------------------