----- Original Message ----- From: "Ricardo Santiago" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Thursday, October 04, 2001 7:58 AM Subject: Re: [java-list] Re: Artigo Java x C#
> > Cara, neste caso voce esta MUDANDO a referencia que > voce recebeu. Exatamente! > Voce esta criando uma NOVA referencia e tentando > atribuir à referencia que voce recebeu como parametro. Isso mesmo... > > Mas a passagem de objetos EH por referencia Aqui eu descordo.. a passagem é por valor. > (as > referencias sao passadas por valor) Perfeito.. note que passagem DE referencia POR valor != passagem por referencia []'s, Leonardo. > > Exemplo: > > class Numero { > > private int value; > > public Numero(int value) { > this.value = value; > } > > public void inc() { > value++; > } > > public int getValue() { > return value; > } > > public static void main(String [] s) { > Numero num = new Numero(1); > System.out.println("num " + num.getValue()); > increment(num); > System.out.println("num " + num.getValue()); > } > > private static void increment(Numero num) { > num.inc(); > } > > } > > Ricardo Munhoz Santiago > > --- Leonardo Souza Mario Bueno <[EMAIL PROTECTED]> > wrote: > > Nain, nain. Java não tem passagem por referencia nem > > para objetos. > > > > Ex: > > > > public void inc(Integer i) { > > i = new Integer(i.intValue()++); > > System.out.println("i = " + i); // i = 2 > > } > > > > i = new Integer(1); > > inc(i); > > System.out.println("i = " + i); // i = 1 > > > > Resultado: > > > > i = 2 > > i = 1 > > > > Ao chamar inc(i) é passada uma referencia ao objeto > > i por valor.. ou seja, > > mudanças na referencia dentro do metodo não terão > > efeito fora dele.. > > > > []'s, > > > > Leonardo. > > > > ----- Original Message ----- > > From: "Carlos E O Chierici" <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Wednesday, October 03, 2001 1:35 PM > > Subject: Re: [java-list] Re: Artigo Java x C# > > > > > > > A passagem de parametros em Java funciona assim: > > > > > > - P/ objetos: por referencia > > > - P/ primitivos: por valor > > > > > > Veja o exemplo: > > > > > > public class Teste > > > { > > > public void run() > > > { > > > TObj obj = new TObj(); > > > obj .i = 3; > > > System.out.println(obj.i); // obj.i = 3 > > > NovoInt(obj); > > > System.out.println(obj.i); // obj.i = 5 > > > } > > > > > > public void NovoInt(TObj meuObj) > > > { > > > meuObj.i = 5; > > > } > > > > > > public static void main(String args[]) > > > { > > > Teste t = new Teste(); > > > t.run(); > > > } > > > } > > > > > > class TObj > > > { > > > public int i; > > > } > > > > > > > > > []s > > > > > > Carlos E O Chierici > > > [EMAIL PROTECTED] > > > > > > ----- Original Message ----- > > > > > > From: <[EMAIL PROTECTED]> > > > To: <[EMAIL PROTECTED]> > > > Sent: Wednesday, October 03, 2001 9:52 AM > > > Subject: RE: [java-list] Re: Artigo Java x C# > > > > > > > > > Sérgio, > > > > > > Eu gostaria de fazer uma pequena correção no seu > > email. > > > > > > Java não possui passagem por referência. Somente > > por valor. Existe uma > > forma > > > de "simular" passagem de parâmetros por > > referência, utilizando os objetos > > ou > > > tipos primitivos armazenados em um array, por > > exemplo. Mas não existe > > > passagem por referência. > > > > > > Antes que o alguém dê pulinhos de alegria, eu > > pergunto: e qual é o > > problema? > > > Alguém por favor, apresente um artigo > > demonstrativo, baseado em testes de > > > performance ou de algum requisito que mostre qual > > é o grandisíssimo > > problema > > > de Java utilizar passagem por valor, e não por > > referência? Mesmo que haja, > > > isso significa que Java é ruim? > > > > > > Abraços, > > > Denard > > > > > > > > > ------------------------------ 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 > > > 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 > > para sair da lista: envie email para > > [EMAIL PROTECTED] > > > ------------------------------------------------------------------------- > > > > > __________________________________________________ > Do You Yahoo!? > NEW from Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month. > http://geocities.yahoo.com/ps/info1 > > ------------------------------ 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 > 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 para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------