Примитивные vs. ссылочные
-
Примитивы:
byte, short, int, long, float, double, char, boolean. -
Ссылочные: любые объекты (классы, массивы, строки,
record,enum, интерфейсы, а также массивы примитивов — это тоже объекты).
Java передаёт аргументы всегда by value.
Для объектов «значение» — это копия ссылки. Меняем поля — видим эффекты; переназначаем ссылку — оригинал не меняется.

