Передача по значению / ссылке, что?

Эта программа выдает 6 в качестве вывода, но когда я раскомментирую строку 9, вывод равен 5. Почему? Я думаю, что b не должно меняться, должно оставаться 5 в основном.

<code>1  class C1{
2      int a=5;

3      public static void main(String args[]){
4          C1 b=new C1();
5          m1(b);
6          System.out.println(b.a);
7      }

8      static void m1(C1 c){
9          //c=new C1();
10         c.a=6;
11    }
12 }
</code>

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

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