Java передает параметры по значению (поэтому в методе создается копия значения и используется локально).
Для примитивного типа - c в вашем случае - значением является значение c, поэтому вы используете копию значения c, и вы не меняете c
Для объекта значение является значением ссылки, поэтому даже если вы передадите его по значению (скопируйте), оно все равно ссылается на тот же объект, и вы можете изменить объект, используя свою копию ссылки ...