¿Cuál es la diferencia entre estos 2 códigos:pase de Java por referencia
Código A:
Foo myFoo;
myFoo = createfoo();
donde
public Foo createFoo()
{
Foo foo = new Foo();
return foo;
}
vs. Código B:
Foo myFoo;
createFoo(myFoo);
public void createFoo(Foo foo)
{
Foo f = new Foo();
foo = f;
}
¿Hay alguna diferencia entre estos 2 códigos?
No hay "pase por referencia" allí. Pasa por valor, y el valor es una referencia. El código B no compila, y si lo hiciera no cambiaría myFoo. – harold