Witam
czytałem ten artykuł o przekazywaniu wartości do metod w Javie:
https://www.javaworld.com/article/2077424/learn-java/does-java-pass-by-reference-or-pass-by-value.html
Czy dobrze rozumiem, że gdybym do tego dorzucił taki kod:
public static void tricky2(int k)
{
k = k+4;
}
a w metodzie main:
int p = 23;
tricky2(p);
System.out.println(p);
to do metody jest przekazana wartość (kopia) referencji k z klasy(metoda main),
i po powrocie z metody wartość p nie jest zmieniona to dlatego, że JVM gdzieś z boku tworzy sobie nowy prymityw na który wskazuje kopia referencji?
coś jak w przypadku gdy:
public static void tricky3(Point point) {
point = new Point(4,4); // tutaj kopia referecji point wskazywać bedzie od teraz na nowy obiekt
}
więc wracając do zmiennej p tak naprawde manipulujemy przy dodawaniu na innym prymitywie?