Передача по значению в 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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