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