Amigos, estava fazendo um exercício que não consigo entender algo que acontece nele. Sequer sei explicar muito do que se trata… mas basicamente eu não entendo a saída dele (19 e depois 20). Para mim as duas saídas deveriam ser 19 e não entendo por que no System.out.println o valor da variável é acrescido em 1.
Alguém saberia me explicar? Segue o código:
class Wrapper{
int w = 10;
}
public class TestClass{
static Wrapper changeWrapper(Wrapper w){
w = new Wrapper();
w.w += 9;
System.out.println(w.w);
return w;
}
public static void main(String[] args){
Wrapper w = new Wrapper();
w.w = 20;
changeWrapper(w);
System.out.println(w.w);