В Java переменные могут передаваться в методы как по значению (pass-by-value), так и по ссылке (pass-by-reference). При передаче переменных примитивных типов данных (таких как int, double, boolean и т.д.) в методы, они передаются по значению, то есть копия значения переменной (без самой переменной) передается в метод. Изменения значения внутри метода не влияют на значение переменной, переданной при вызове метода. При передаче объектов в методы, передается ссылка (адрес объекта в памяти), а не сам объект. Следовательно, при изменении объекта внутри метода, изменения будут отражены на самом объекте. Если нужно передать копию объекта в метод, то следует создать новый объект с такими же полями и передать его в метод. Например, если у нас есть метод, который изменяет значение поля объекта класса: public void incrementCounter(Counter c) {
c.setValue(c.getValue() + 1);
} Чтобы воспользоваться методом, мы можем создать объект Counter и вызвать метод: Counter myCounter = new Counter();
my