Передача по значению в JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Передача по значению в Java

Сообщение Anonymous »

Я знаю, что Java всегда передает значение по значению, но когда я попытался написать эту простую программу, результат был запутанным, потому что число (x) не изменилось при изменении массива, и я хочу знать, почему это произошло.< /p>

Код: Выделить всё

public class clearArray  {
public void cleanArray(int[] array){
array = null;
}
}

public class modifyArray {
public void changeArray(int[] array){
array[1] = 200;
}
}

public class incrementNumber {
public int incremet(int x){
x++;
return x;
}
}

public class Oopdemo {
public static void main(String[] args) {
int x = 4;
incrementNumber add = new incrementNumber();
add.incremet(x);
System.out.println("The Number is : "+x );
modifyArray modifey = new modifyArray();
clearArray clear = new clearArray();
int[] arr = { 1, 2, 3};
System.out.println("the array berfore : "+Arrays.toString(arr));
modifey.changeArray(arr);
System.out.println("the array after changing : "+Arrays.toString(arr));
clear.cleanArray(arr);
System.out.println("the array after clearence : "+Arrays.toString(arr));
}
}
Кроме того, когда я пытался очистить массив, это, вероятно, не сработало. Я хочу понять, что происходит, потому что это сбивает с толку.


Подробнее здесь: https://stackoverflow.com/questions/790 ... ue-in-java

Вернуться в «JAVA»