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