Java passage par référence

Quelle est la différence entre ces 2 codes:

Code:

Foo myFoo;
myFoo = createfoo();

public Foo createFoo()
{
   Foo foo = new Foo();
   return foo;
}

Vs. Code B:

Foo myFoo;
createFoo(myFoo);

public void createFoo(Foo foo)
{
   Foo f = new Foo();
   foo = f;
}

Est-il des différences entre ces 2 morceaux de codes?

  • Il n'y a pas de "passage par référence" là. C'est le passage par valeur, et la valeur est une référence. Code B ne compile pas, et il ne serait pas changer myFoo.
InformationsquelleAutor delita | 2012-02-22