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