|
Carlos
Eduardo,
Este
assunto � recorrentemente discutido aqui. A passagem de par�metros em java �
sempre por valor. Isto � �bvio no caso dos tipos b�sicos. Mas fica obscuro no
caso de objetos.
Note,
que o par�metro de um m�todo n�o � o objeto e sim sua refer�ncia. Mas, esta
refer�ncia � passada por valor.
Exemplo:
void
myMethod (Object object)
{
object = new MyObject();
} Se a
passagem fosse por refer�ncia, o par�metro object seria alterado para a
nova inst�ncia de MyObject(), quando o m�todo terminasse. Mas isso n�o
acontece, pois a passagem de par�metros � por valor.
abra�os
Jorge Roberto Diniz Martins
[EMAIL PROTECTED] www.unear.net Tel.: +55 (21) 3389-2924 -----Original Message-----
From: Carlos Eduardo Carvalho [mailto:[EMAIL PROTECTED]] Sent: ter�a-feira, 5 de novembro de 2002 08:29 To: [EMAIL PROTECTED] Subject: 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
|
- Re: [java-list] Duvida sobre atribui... Carlos Eduardo Carvalho
- RES: [java-list] Duvida sobre at... M�rio Roberto Porto Filho
- Re: [java-list] Duvida sobre atr... Jonatan Schroeder
- Re: [java-list] Duvida sobre... Carlos Eduardo Carvalho
- RES: [java-list] Duvida sobr... M�rio Roberto Porto Filho
- RE: [java-list] Duvida sobre atribuicao d... Elaine Prata
- Re: [java-list] Duvida sobre atribuicao d... Jonatan Schroeder
- RES: [java-list] Duvida sobre atribu... Danilo Marcolin de Almeida C�sar
- Re: [java-list] Duvida sobre atr... Daniel Monteiro
- Re: [java-list] Duvida sobre atribuicao d... Jorge Martins
- Re: [java-list] Duvida sobre atribuicao d... Gangrel
- Re: [java-list] Duvida sobre atribui... Jonatan Schroeder
- Re: [java-list] Duvida sobre atribui... Samuel Yuen
- RE: [java-list] Duvida sobre atribuicao d... Denard Costa Soares
- RE: [java-list] Duvida sobre atribui... Henrique Viecili
- Re: [java-list] Duvida sobre atr... Adriano Andrulis
- Re: [java-list] Duvida sobre... H�lio Brand�o
- RE: [java-list] Duvida sobre atribuicao d... Edson Barbosa
- Re: [java-list] Duvida sobre atribui... Carlos Eduardo Carvalho
- RES: [java-list] Duvida sobre at... M�rio Roberto Porto Filho
