Java

Thursday, April 06, 2006

 

Parâmetro

Em java, a passagem de parâmetros é por cópia do valor. A referência de um objeto não é passada como parâmetro, mas sim uma cópia desta referência. No caso dos tipos primitivos, uma cópia do seu valor é passada. Deste modo, se eu passo a cópia de uma referência para um método e, neste método, faço com que esta referência aponte para outro objeto, a referência original continuará apontando para o objeto anterior. Exemplo:

public class Referencia{
public int x;
public static void main(String args []){
Referencia r = new Referencia();
r.x=8;
r.setNewRef(r);
System.out.println(r.x);
}

public void setNewRef(Referencia r){
r = new Referencia();
r.x=10;
}
}

O resultado impresso será 8. O fato de ter mudado a referência de r em setNewRef() não altera em nada a referência de r em main(). Pois o r de setNewRef() eh uma cópia de r em Main().

Comments: Post a Comment



<< Home

Archives

March 2006   April 2006   May 2006   July 2006   August 2006  

This page is powered by Blogger. Isn't yours?