Nain, nain. Java não tem passagem por referencia nem para objetos.

Ex:

    public void inc(Integer i) {
        i = new Integer(i.intValue()++);
        System.out.println("i = " + i); // i = 2
    }

    i = new Integer(1);
    inc(i);
    System.out.println("i = " + i); // i = 1

Resultado:

i = 2
i = 1

Ao chamar inc(i) é passada uma referencia ao objeto i por valor.. ou seja,
mudanças na referencia dentro do metodo não terão efeito fora dele..

[]'s,

Leonardo.

----- Original Message -----
From: "Carlos E O Chierici" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, October 03, 2001 1:35 PM
Subject: Re: [java-list] Re: Artigo Java x C#


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


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