¿Las variables locales en métodos estáticos también son estáticas?
Me pregunto si todas las variables locales se vuelven estáticas si las declaramos en un método estático.
por ejemplo:
public static void A(){
int x [] = {3,2};
changeX(x);
for (int i = 0; i< x.length; i++){
System.out.println(x[i]); // this will print -1 and 1
}
}
private static void changeX(int[] x){
x[0] = -1;
x[1] = 1;
}
Por lo que entiendo que Java siempre se pasa por valor, pero ¿por qué el estado de X ha cambiado después de que hicimos la llamada changeX? ¿Alguien puede explicar eso por favor? ¿Alguien puede explicar cómo lidia Java con las variables estáticas en términos de asignación de memoria? y qué sucede si pasamos una variable estática a una función como parámetro (sé que la gente normalmente no hará eso)