powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / 1001 раз про ссылки
5 сообщений из 5, страница 1 из 1
1001 раз про ссылки
    #38750321
Саабразим Аль-каши Бухани
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не понимаю, как передаются в java значения в метод.
Допустим
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
public class Foo{}

public class Main {

	static void foo(Foo i) {
		
	}

	public static void main(String[] args) {
		Foo m = new Foo();
                foo(m);
	}
}


Что приходит в foo()? Ссылка или копия ссылки? Если ссылка, то почему нельзя в foo() написать i = new Foo() и тем изменить m из main()? Если копия - то как это "пощупать" - увидеть разницу адресов или хоть чего-нибудь? И вообще можно ли под ссылкой понимать аналог Foo& из C++?
...
Рейтинг: 0 / 0
1001 раз про ссылки
    #38750331
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саабразим Аль-каши Бухани,

new Foo() - создаёт новый объект.
Foo i - переменная, ссылающаяся на объект
Foo m - другая переменная ссылающаяся на объект
i = new Foo() - создаёт второй объект и делат i ссылкой на него.
переменная i и переменная m - две разных переменных, поэтому изменение одной не приводит к изменению другой.
поэтому переменная m как ссылалась на первый объект там и будет на него ссылаться.
...
Рейтинг: 0 / 0
1001 раз про ссылки
    #38750374
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если вам хочется аналоии с плюсами, можете считать, что передаются указатели на обьект.
...
Рейтинг: 0 / 0
1001 раз про ссылки
    #38750399
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саабразим Аль-каши БуханиЧто приходит в foo()? Ссылка или копия ссылки?

В твоих терминах- копия.

Саабразим Аль-каши БуханиИ вообще можно ли под ссылкой понимать аналог Foo& из C++?

Нет, в java невозможно изменить значение переданной переменной. Никак. Это типа фича.
...
Рейтинг: 0 / 0
1001 раз про ссылки
    #38750679
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зато можно изменить состояние объекта-аргумента внутри метода.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / 1001 раз про ссылки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]