Теперь я знаю, что Java является чисто передаваемой по значению, но переменные экземпляра передаются по ссылке?
Вот что я имею в виду (и я знаю, что этот код ужасен, но это псевдокод:
//Instance variables
private Object[] array = new Object[10];
array[4] = new Object[5];
//Private method
private Object ar(int x)
{
return array[x];
}
//Inside Main or some other method
ar(4)[0] = "Foo";
Теперь, будет ли первый слот в массиве в array[4]
изменен на "Foo", потому что array
является переменной экземпляра?
Для уточнения:
Я знаю, что ВСЕ передается по значению. Но мы говорим о вызове вещей, содержащихся в переменных экземпляра, пожалуйста, обратите внимание на это. Спасибо.