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

Responder a