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 
fabio.jorge@citicorp.com 

-----Original Message-----
From: sven [mailto:sven@doosys.com.br]
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:zforum@espacoreverso.com.br]
Enviada em: Thursday, January 24, 2002 8:16 PM
Para:  java-list@soujava.org.br
Assunto: Re: [java-list] Como é feita a passasgem de parâmetros em Java?

Adalberto Zanata
[ a.zanata@espacoreverso.com.br]
[ http://www.espacoreverso.com.br/a.zanata]

----- Original Message -----
From: "Paulo Henrique Castro"  <paulohlc@bol.com.br>
To:  <java-list@soujava.org.br>
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  java-list-unsubscribe@soujava.org.br
----------------------------------------- --------------------------------

------------------------------ 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  java-list-unsubscribe@soujava.org.br 
-------------------------------------------------------------------------

------------------------------ 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  java-list-unsubscribe@soujava.org.br 
-------------------------------------------------------------------------

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