Obrigado a todos que me responderam!
Valeu pela forca, valeu mesmo !!!

-- Mensagem original --

>O que acontece � que quando passamos por parametro em Java uma vari�vel
de
>um tipo primitivo, o java passa apenas uma c�pia do valor da vari�vel para
>o
>m�todo, a� quando voce altera o valor da vari�vel dentro do m�todo, voce
>est� alterando apenas uma c�pia local que n�o ir� se refletir para fora
do
>m�todo. J� quando voce passa um objeto, e um vetor em ultima instancia
>tambem � um objeto, voc� na verdade passa uma c�pia da referencia em mem�ria
>daquele objeto, portanto quando voce altera o "valor" do objeto dentro
de
>um
>m�todo, voce est� mandando o conteudo daquela referencia em mem�ria mudar,
>o
>que no fim das contas e para efeitos praticos � o mesmo que passar o
>parametro por referencia, ou seja, o valor � refletido externamente, quando
>o m�todo encerrar.
>No exemplo que voce passou, quando o m�todo change_i em 1 acaba, o mesmo
>�
>desempilhado e o i interno morre junto sendo que o i externo n�o enxerga
>as
>mudan�as, enquanto no 2, as mudan�as s�o efetivas, mesmo quando o m�todo
>acaba.
>
>Eliade Filho
>
>-----Mensagem original-----
>De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
>Enviada em: quarta-feira, 8 de janeiro de 2003 09:12
>Para: [EMAIL PROTECTED]
>Assunto: [cejug-discussao] Language Fundamentals
>
>
>Como os dois programs abaixo, basicamente o mesmo, retorna valores
>diferentes
>?
>Desculpem-me a inocencia !!!
>
>1) Este programa retorna 1. Aqui tudo bem, mas veja o 2)
>public class example {
>   int i = 0;
>   public static void main(String args[]) {
>      int i = 1;
>      change_i(i);
>      System.out.println(i);
>   }
>   public static void change_i(int i) {
>      i = 2;
>      i *= 2;
>   }
>}
>
>2) Este programa retorna 4 ?
>public class example {
>   int i[] = {0};
>   public static void main(String args[]) {
>      int i[] = {1};
>      change_i(i);
>      System.out.println(i[0]);
>   }
>   public static void change_i(int i[]) {
>      i[0] = 2;
>      i[0] *= 2;
>   }
>}
>
>
>
>-------------------------------------------------------------------------------------------
>Ceara' Java User Group
>
>  Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]
>  Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
>  Falar com o administrador? e-mail para: [EMAIL PROTECTED]
>
>
>



------------------------------------------
Use o melhor sistema de busca da Internet
Radar UOL - http://www.radaruol.com.br




-------------------------------------------------------------------------------------------

Ceara' Java User Group

  Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]
  Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
  Falar com o administrador? e-mail para: [EMAIL PROTECTED] 
 

Responder a