|
P�gina 328 do livro Thinking
in Java, do Bruce Eckel: Na se��o "pass by value" ele discute com mais detalhes essa quest�o,
apesar de desde o come�o do cap�tulo ele dar a entender que existe passagem por
refer�ncia. Ele coloca dois pontos de
vista. No primeiro, ele afirma: "Java passes everything by value". No segundo, ele diz: "Java passes primitives by value(no argument there) but objects are
passed by reference". Mais adiante, no mesmo par�grafo, ele diz: "Since ou
don�t get a local copy of the object when you pass it
into a method, objects are clearly not passed by value" Leiam com aten��o essa se��o e
ver�o o que digo abaixo. Se vcs lerem com bastante
aten��o, ele fala de um handle. Esse handle
� o endere�o para o objeto, o que ele,logo na primeira p�gina do cap�tulo, tamb�m
chama de safety pointer(ponteiros seguros). O que acontece em Java � que n�o
h� como passar o objeto como par�metro, e sim o
handle dele. Quando o m�todo recebe o handle, � criada uma c�pia do handle, mas
o objeto continua quietinho, n�o � criada uma c�pia dele. Nesse momento,
existem dois handles apontando para o mesmo
objeto. Isso gera um comportamento similar � passagem por refer�ncia, porque
utilizando um ou outro, o estado do objeto vai ser alterado. De uma vez por todas: N�O EXISTE PASSAGEM POR REFER�NCIA EM JAVA!!!!! O comportamento � muito
similar, mas � por valor. Abra�os, Denard -----Original Message----- � Bem, sei que n�o tenho ainda
tanta experi�ncia com Java, mas o que aprendi no Thinking in Java de Bruce Eckel � exatamente o que o Carlos Chierici falou: objetos s�o sempre passados por refer�ncia. � --- Leonardo Souza Mario Bueno <[EMAIL PROTECTED]> escreveu: > 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] > ------------------------------------------------------------------------- >� _______________________________________________________________________________________________ Yahoo! GeoCities Tenha seu lugar na Web. Construa hoje mesmo sua home page no Yahoo!
GeoCities. � f�cil e gr�tis! http://br.geocities.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 para sair da lista: envie email para
[EMAIL PROTECTED] ------------------------------------------------------------------------- |
- Re: [java-list] Re: Artigo Java x C# Ricardo Santiago
- Fwd: Re: [java-list] Re: Artigo Java x C# Gabriel De Munno Francisco
- Re: [java-list] Re: Artigo Java x C# Gabriel De Munno Francisco
- Re: [java-list] Re: Artigo Java x C# Leonardo Bueno
- RES: [java-list] Re: Artigo Java x C# Fl�vio Leite
- Re: [java-list] Re: Artigo Java x C# Gabriel De Munno Francisco
- RE: [java-list] Re: Artigo Java x C# Luiz Fernando Bicalho
- Re: [java-list] Re: Artigo Java x C# Carlos E O Chierici
- Re: [java-list] Re: Artigo Java x C# Leonardo Souza Mario Bueno
- Re: [java-list] Re: Artigo Java x C# Renato Quedas
- Re: [java-list] Re: Artigo Java x C# Denard . Soares
- Re: [java-list] Re: Artigo Java x C# Sven van �t Veer
- Re: [java-list] Re: Artigo Java x C# Leonardo Souza Mario Bueno
- Re: [java-list] Re: Artigo Java x C# Leonardo Souza Mario Bueno
