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 -----
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.
----- Original Message -----
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]
-------------------------------------------------------------------------