> 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] 
-------------------------------------------------------------------------

Responder a