Possibile duplicato: Java passa per riferimento? public class myClass{ public static void main(String[] args){ myObject obj = new myObject(“myName”); changeName(obj); System.out.print(obj.getName()); // This prints “anotherName” } public static void changeName(myObject obj){ obj.setName(“anotherName”); } } So che Java passa per valore, ma perché passa obj per riferimento nell’esempio precedente e lo cambia?
Qual è la differenza tra questi 2 codici: Codice A: Foo myFoo; myFoo = createfoo(); dove public Foo createFoo() { Foo foo = new Foo(); return foo; } Vs. Codice B: Foo myFoo; createFoo(myFoo); public void createFoo(Foo foo) { Foo f = new Foo(); foo = f; } Ci sono delle differenze tra questi 2 […]