Null в параметрах

Рейтинг: 0Ответов: 1Опубликовано: 24.09.2014

Доброго времени суток. Помогите разъяснить следующие моменты.
Первое: допустим, есть метод

method(Class param)
{
   param = new Class();
}

В таком случае при следующих манипуляциях в основной программе:

Class a = null;
method(a);

после завершение выполнения метода, что будет в "а" (в основной программе)? null или объект? И изменится ли как-нибудь результат если method переписать следующим образом:

method(Class a)
{
   a = method2();
}
. . .
Class method2()
{
   return new Class();
}

И второе: что будет при "обратных действиях"?

Class a = new Class();
method(a);
...
method(Class a)
{
   a = null;
}

Чему в таком случае будет равно значение "a" в основной программе после завершения метода?

Ответы

▲ 3

В Java ссылки передаются по значению. Следовательно, во всех приведенных случаях переменная а никак не изменит своего значения после вызова метода method.