Pior é que ele não tá. Mesmo em objetos, são passadas cópias das referências
aos objetos. O que é permitido é usar a copia para alterar atributos do
objeto ou executar seus métodos.
Se por acaso voce alterar o valor da variavel do metodo local, a variavel
original continua com o mesmo valor.

Da uma olhada no seguinte código:

public class Copia {
    public String teste;
    public Copia(String str) {
         teste = str;
     }
}

public class TestaCopia {
    public static void main(String[] args) {
        Copia cp = new Copia("x") ;
        mudarRef(cp); //se fosse passagem por referencia, aqui ele mudaria a
referencia
        System.out.println(cp.teste); //se fosse por referencia imprimiria
"y"
    }
    public void mudarRef(Copia copia) {
        copia = new Copia("y");
    }

}

Espero não ter complicado mais.

Abraços,
Adriano Andrulis


----- Original Message -----
From: "Henrique Viecili" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, November 11, 2002 3:36 PM
Subject: RE: [java-list] Duvida sobre atribuicao de objetos...



tah maluco? onde tu leu isso?

henrique

On Wed, 6 Nov 2002, Denard Costa Soares wrote:

> Galera,
>
> Em java, não existe passagem por referência, é sempre por valor. Sem
exceção.
> Tipos primitivos ou não, é por valor.
>
> Abraços,
> Denard C. Soares
> ----------------------------------------------------------------
> Se você não perde cabeça quando todos ao redor já perderem, talvez você
apenas não esteja entendendo a situação.
> -----------------------------------------------------------------
>
> -----Original Message-----
> From: Mário Roberto Porto Filho [mailto:mario@;cmagnani.com.br]
> Sent: quarta-feira, 6 de novembro de 2002 13:23
> To: [EMAIL PROTECTED]
> Subject: RES: [java-list] Duvida sobre atribuicao de objetos...
>
> Concordo com o Carlos..........é uma questão perigosa e todo mundo sempre
confunde, é normal até !!!
> Mas em Java todos os objetos são passados por referência ( Para passar o
valor, deve se utilizar o método clone() de java.lang)...
> Os tipos básicos são passados por valor, mesmo vetores de tipos básicos
passam seu valor e não sua referência !!!....
> Até mais !!!!
> -----Mensagem original-----
> De: Carlos Eduardo Carvalho [mailto:carlosetc@;unitech.com.br]
> Enviada em: terça-feira, 5 de novembro de 2002 08:29
> Para: [EMAIL PROTECTED]
> Assunto: Re: [java-list] Duvida sobre atribuicao de objetos...
> Jonatan,
>
> Essa é uma afirmação perigosa de ser feita. Não sei se a passagem de
parâmetros em Java seria exatamente por valor, ao invés de por referência.
Nesse mesmo exemplo que você citou na mensagem abaixo, pode ser simulada uma
situação onde fica clara essa contradição.
>
> Vamos supor que tenhamos dois métodos, executar() e metodoAtribuicao(),
como seguem abaixo.
>
> public void executar() {
>     MeuBean a = new MeuBean();
>     MeuBean b = new MeuBean();
>
>     a.setNome("Teste Atribuicao");
>
>     metodoAtribuicao(a, b);
>
>     System.out.println("Bean A: "+a.getNome()); // A impressão na console
da
>     System.out.println("Bean B: "+b.getNome()); // aplicação terá o mesmo
valor
> }
>
> public void metodoAtribuicao(MeuBean a, MeuBean b) {
>     b.setNome(a.getNome());
> }
>
> A partir desta justificativa creio que seja mais correto dizer que a
passagem de parâmetros de objetos em métodos seja por referência, enquanto
que a passagem de parâmetros de tipos básicos do java em métodos seja por
valor. É uma questão meio confusa de se afirmar, mas se estiver errado,
corrijam-me!
>
> Falou!
>
> Carlos Eduardo Teixeira Carvalho
> Analista de Sistemas - Fábrica de Software
> Unitech Tecnologia de Informação
> ----- Original Message -----
> From: Jonatan Schroeder <mailto:jona.s@;uol.com.br>
> To: [EMAIL PROTECTED] ; Sr. <mailto:sr_apocalipse@;yahoo.com.br>
Apocalipse
> Sent: Monday, November 04, 2002 7:09 PM
> Subject: Re: [java-list] Duvida sobre atribuicao de objetos...
>
> A passagem de parâmetros em java é por valor, e não por referência. Então,
>
> public void metodo_atribuicao(Object a, Object b) {
>     a = b;
> }
> não tem efeito algum. O objeto 'a' é passado ao método, mas quando você
faz a atribuição, você está fazendo com que o parâmetro a seja alterado, ou
seja, ele deixa de apontar para o local em que foi definido na chamada do
método e passa a apontar para o local do objeto b.
>
> ---
> Jonatan Schroeder
> [EMAIL PROTECTED]
>
>
> ----- Original Message -----
> From: Sr. Apocalipse <mailto:sr_apocalipse@;yahoo.com.br>
> To: [EMAIL PROTECTED] ; [EMAIL PROTECTED]
> Sent: Monday, November 04, 2002 2:22 PM
> Subject: [java-list] Duvida sobre atribuicao de objetos...
>
> Galera,
> Eu gostaria que alguém me esclarecesse o seguinte ocorrido.
> Eu queria fazer uma atribuicao de dois objetos dentro de um metodo e nao
> consegui, quando retorna do metodo a atribuicao é desfeita. Fora do metodo
a
> atribuicao ocorre e um "aponta" para o outro.
> O exemplo está abaixo:
>
> public void teste(){
>
>    Object a, b;
>
>    a = new Vector();
>    b = new Date();
>
>    metodo_atribuicao(a, b);
>    // Apos o metodo_atribuicao, o objeto a nao esta "apontando" para o
> objeto b
>   // ou seja, o objeto a continua como Vector e o objeto b como Date.
>
>   a = b;
>   // Agora sim o objeto a "aponta" para o objeto b
>   // ou seja, o objeto a agora é Date e o objeto b tambem
> }
>
> public void metodo_atribuicao(Object a, Object b) {
>     a = b;
> }
>
> _______________________________________________________________________
> Yahoo! GeoCities
> Tudo para criar o seu site: ferramentas fáceis de usar, espaço de sobra e
acessórios.
> http://br.geocities.yahoo.com/
>
> ------------------------------ 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]
> -------------------------------------------------------------------------
>


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



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

Responder a