N�o � passado uma copia de uma referencia!!! imagina o seguinte:

char a[] = "Andre Moura Barreto";
char *b = a;
muda(char* vai){
char c[] = "trocou";
vai = c;
}

ap�s muda() a aponta para "trocou" pois b estava apontando para a, por�m 
vai estava apontandao para a.
Passando uma 'c�pia' de referencia n�o adianta.

Em java a REFERENCIA � passada, e dentro do metodo UMA COPIA DO OBJETO � 
criada como VARIAVEL LOCAL. E por isso o objeto original � immutavel!!!

ANDRE MOURA BARRETO wrote:

> Muito bem...finalmente algu�m que entende e teve uma boa did�tica para
>ensinar.
> Alguns est�o achando que com Array funciona como refer�ncia.
> N�o funciona. Uma c�pia da refer�ncia do Array  � passada. Isso n�o � nem
>nunca ser� passagem por refer�ncia, sempre ser� por valor.
>
>-----Mensagem original-----
>De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
>Enviada em: Monday, January 28, 2002 8:04 PM
>Para: [EMAIL PROTECTED]
>Assunto: RE: RES: [java-list] Como � feita a passagem de par�metros em
>Java?
>
>
>Amigos,
> 
>Como esse assunto est� sendo bastante discutido, vou me meter no meio
>tamb�m e tentar esclarecer...
>O Java trata a passagem de par�metros de forma diferente para tipos
>primitivos e objetos, mas sempre � passada por valor.
>Funciona mais ou menos assim (vou usar o exemplo do curso de Java da
>Sun, que fiz a semana passada):
> 
>Se voc� passa um tipo primitivo para um m�todo assim:
>...
>int i = 10;
>this.alteraValor(i)
>System.out.print(i) // Imprime o valor 10
>...
> 
>alteraValor(int j){
>    j = 15;
>}
>O que acontece? O Java entrega uma c�pia do conte�do de i para o m�todo.
>S� que o conte�do de i � igual a 10.
>J� se fizermos a mesma coisa com um objeto, vejam s�:
> 
>...
>MyDate data = new MyDate("28/01/2002");
>this.alteraValor(data);
>System.out.print(data); // Imprime o valor "28/01/2002";
>this.alteraValor2(data);
>System.out.print(data); // Imprime o valor "28/02/2002";
>...
> 
>alteraValor(MyDate t){
>    t = new MyDate("31/07/2002");
>}
> 
>alteraValor2(MyDate t){
>    t.setMes("02");
>}
> 
>Porqu� no primeiro m�todo o valor n�o se alterou, mas no segundo sim?
>Funciona da mesma maneira que a passagem de um tipo primitivo. O
>conte�do da vari�vel data n�o � o objeto MyDate, e sim o endere�o da
>mem�ria onde est� o objeto MyDate. E, da mesma maneira como acontece com
>o tipo primitivo, esse valor (endere�o do objeto) n�o pode ser alterado
>(tentamos alterar essa refer�ncia com o comando new MyDate).
>J� o conte�do do objeto pode ser alterado tranq�ilamente, pois ele fica
>em outra parte da mem�ria.
> 
>Quaisquer d�vidas, perguntem....
> 
>[]
> 
>F�bio Jorge Corr�a 
>Citibank e-Business Solutions 
>Phone:  55 11 3457.0675 
>Fax:  55 11 3457.0652 
>[EMAIL PROTECTED] 
> 
>
>   -----Original Message-----
>   From: sven [mailto:[EMAIL PROTECTED]]
>   Sent: sexta-feira, 28 de dezembro de 2001 12:51
>   To: java-list
>   Cc: sven
>   Subject: Re: RES: [java-list] Como � feita a passasgem de par�metros
>   em Java?
>   
>   
>
>   Um bom engano...
>   
>   Em Java, parametros s�o passados por referencia, mas dentro da fun��o
>   uma copia � usado.
>   
>   ANDRE MOURA BARRETO wrote:
>   
>
>       Vc est� equivocado.
>       Java n�o possue passagem de Par�metro por refer�ncia.
>       Somente por valor, ou seja, uma c�pia � passada.
>      
>      -----Mensagem original-----
>      De: Adalberto Zanata [Forum] [ mailto:[EMAIL PROTECTED]]
>      Enviada em: Thursday, January 24, 2002 8:16 PM
>      Para:  [EMAIL PROTECTED]
>      Assunto: Re: [java-list] Como � feita a passasgem de par�metros em
>      Java?
>      
>      
>      
>      Adalberto Zanata
>      [ [EMAIL PROTECTED]]
>      [ http://www.espacoreverso.com.br/a.zanata]
>      
>      ----- Original Message -----
>      From: "Paulo Henrique Castro"  <[EMAIL PROTECTED]>
>      To:  <[EMAIL PROTECTED]>
>      Sent: Thursday, January 24, 2002 11:26 AM
>      Subject: Re: [java-list] Como � feita a passasgem de par�metros em
>      Java?
>      
>      
>      
>
>         Existe uma maneira de diferenciar as passagens de par�metros em
>         Java, por
>         valor e por refer�ncia?
>
>      
>      
>               Ateh onde sei a passagem de parametros em Java eh somente
>      por
>      referencia!!
>      
>               []s
>      
>               PH
>      
>      
>      --
>      "Live fast, die old, and make very sure everyone knows you were
>      there." -
>      Alan Cox
>      
>      
>      ------------------------------ 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] 
>      ------------------------------------------------------------------
>      -------
>      
>      ------------------------------ 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] 
>      ------------------------------------------------------------------
>      -------
>      
>
>
>   --  "'You guys (at Microsoft) still don't get it,'  because it's sort
>   of Java with reliability, productivity and security deleted."      
>                       James Gosling 
>
>
>   
>
>
>
>------------------------------ 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] 
>-------------------------------------------------------------------------
>

-- 
"'You guys (at Microsoft) still don't get it,' 
because it's sort of Java with reliability, productivity and security deleted."

                                        James Gosling




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