Выбор ответа Junior Основы: типы, обёртки, static спрашивают часто обновлено
Передача объекта в метод
Вопрос
Как Java передаёт объект в метод?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: По значению: метод получает копию ссылки и меняет объект, но не переменную. В Java есть только передача по значению.
Варианты ответа
- По ссылке: метод получает саму переменную и может присвоить ей новый объект
- По значению: метод получает копию ссылки и меняет объект, но не переменнуюправильный ответ
- Объекты передаются по ссылке, а примитивы по значению, как и в C# с
ref - Передаётся глубокая копия объекта, поэтому изменения внутри метода не видны
Разбор
В Java есть только передача по значению. Для объекта значение это ссылка, и метод получает её копию. Через копию можно вызвать sb.append(...), и это видно снаружи. Но sb = new StringBuilder() внутри метода меняет только локальную копию. «По ссылке» (как ref в C#) в Java нет, поэтому вариант про «объекты по ссылке» популярное, но неверное упрощение. Глубокого копирования при вызове тоже нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Что выведет: перегрузка, расширение и упаковка
Следующий вопрос
Что выведет: изменение параметров
Термины по теме
Ещё по теме «Основы: типы, обёртки, static»
- char плюс int
- Изменили константу в библиотеке
- Деньги в double
- Ключ Long и get(int)
- final ссылка на список
- Автоупаковка
- Порядок инициализации
- Примитивы Java