В какой-то момент мы сталкиваемся с понятием глобальных и локальных переменных, и это начинает слегка путать.
Сначала посмотрим, что это значит, а потом разберёмся, зачем.
В Java переменные могут передаваться в методы как по значению (pass-by-value), так и по ссылке (pass-by-reference). При передаче переменных примитивных типов данных (таких как int, double, boolean и т.д.) в методы, они передаются по значению, то есть копия значения переменной (без самой переменной) передается в метод. Изменения значения внутри метода не влияют на значение переменной, переданной при вызове метода. При передаче объектов в методы, передается ссылка (адрес объекта в памяти), а не сам объект...