Middle
34
Java-да әдістерге параметрлер қалай беріледі — сілтеме арқылы ме, әлде мән арқылы ма?
Сұралған компаниялар
Лоция
AI-дан жауап
sobes.tech AI
В Java параметры методов передаются только по значению. Это означает, что при вызове метода копируется значение аргумента и передается в параметр.
- Для примитивных типов (int, double и т.д.) копируется само значение.
- Для ссылочных типов (объекты) копируется значение ссылки, то есть адрес объекта в памяти.
Из-за этого внутри метода можно изменить состояние объекта, на который ссылается параметр, но нельзя изменить саму ссылку, чтобы она указывала на другой объект вне метода.
Пример:
void modify(StringBuilder sb) {
sb.append(" world"); // изменит объект
sb = new StringBuilder("new"); // изменит локальную копию ссылки
}
StringBuilder s = new StringBuilder("hello");
modify(s);
System.out.println(s); // выведет "hello world"
Здесь метод изменил содержимое объекта, но не изменил ссылку s вне метода.