Atribuição de valor a variável passado por parametro em método  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
Naruffy
JavaEvangelist
[Avatar]

Membro desde: 28/03/2008 18:54:49
Mensagens: 324
Offline

Pessoal,

Tenho o seguinte problema

Vejam o código


E o seguinte:



Porque no primeiro código aonde a variável é um Integer o valor não 'fica' na variável depois de atribuir no outro método, mas no segundo código fica?

Obrigado

[]s
danielfigueiredoc
JavaChild
[Avatar]

Membro desde: 06/01/2009 16:28:12
Mensagens: 125
Offline

Porque no primeiro método você tem um valor primitivo, ou seja, o valor da váriavel está nela, quando você passa por parâmetro ela passa os valores pra outra variavel (a do método), então quando você altera o valor no primeiro método ele não muda o valor da variável do main, você você está alterando o valor da cópia dela, dentro do método.

Já no segundo você passa uma variável de referência, um objeto criado, sendo assim você passa o conjunto de bits que apontam para o objeto criado (pois variáveis de referência nunca guardam seus valores, elas possuem o endereço da onde está o objeto no heap), então quando você altera o valor no segundo método, ele altera o msm objeto de referência criado no main, pois você passou o "caminho" de onde esta o objeto, que no caso é o mesmo.

This message was edited 1 time. Last update was at 01/10/2009 12:03:06


Jamais considere seus estudos como uma obrigação, mas como uma oportunidade invejável para aprender a conhecer a influência libertadora da beleza do reino do espírito, para seu próprio prazer pessoal e para proveito da comunidade à qual seu futuro trabalho pertencer.
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team