Как сделать вызов по ссылке в Java?
Вы не можете сделать вызов по ссылке в Java.Период.Ничто даже близко не подходит.И передача ссылки по значению НЕ совпадает с вызовом по ссылке.
(Реальный «вызов по ссылке» позволяет вам делать такие вещи:
void swap(ref int i, ref int j) { int tmp = *i; *i = *j; *j = tmp }
int a = 1;
int b = 2;
swap(a, b);
Вы просто можете 'сделать это в Java.)
Поскольку Java не поддерживает указатели ...
Хотя это технически верно, это не будет препятствием для того, чтоты пытаешься сделать.
Java поддерживает поддержку ссылок , которые в большинстве важных моментов похожи на указатели.Разница в том, что вы не можете рассматривать ссылки как адреса памяти, выполняя арифметику с ними, преобразовывая их в целочисленные типы и из них и так далее.И вы не можете создать ссылку на переменную, потому что концепция не существует в Java или архитектуре JVM.
Как можно вызывать функцию по ссылке в Java, как мыdo в C и C ++ ??
В Java функции (методы) и ссылки на функции не поддерживаются в качестве значений.Таким образом, вы не можете передавать их в качестве аргументов и не можете назначать их переменным.
Однако вы можете определить класс с помощью одного метода экземпляра и использовать экземпляр класса вместо ссылки на функцию.Другие ответы приводят примеры такого подхода.