Являются ли локальные переменные в статических методах также статическими?

Мне интересно, все ли локальные переменные становятся статическими, если мы объявляем их статическим методом?

например:

  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;
  }

Насколько я понимаю, Java всегда передается по значению, но почему состояние X изменилось после того, как мы сделали вызов changeX? Кто-нибудь может объяснить это, пожалуйста? и кто-нибудь может объяснить, как Java имеет дело со статическими переменными с точки зрения распределения памяти? и что произойдет, если мы передадим статическую переменную в функцию в качестве параметра (я знаю, что люди обычно этого не делают)

Ответы на вопрос(3)

Ваш ответ на вопрос