Терминология: как говорить об указателях и ссылках в Java

1

Я родом из C/C++.

Когда я могу говорить о указателях на Java? Когда о ссылках? Могу ли я сказать, что переменная типа Object содержит ссылку на некоторые данные, т.е. к экземпляру класса? Что эта переменная указывает на экземпляр класса?

Если Java всегда копируется по значению, то если я передаю эту предшествующую переменную функции в качестве параметра, а сама переменная сама копируется, ее содержимое по-прежнему ссылается на экземпляр класса, так что любым практическим способом это не было действительно копией по значению, поскольку экземпляр класса не был скопирован, но ссылка была, правильно?

Что раздражают разработчиков Java, чтобы слушать, когда разговаривали с разработчиками C/C++ в этом контексте?

Это как-то сложно сформулировать вопрос, я надеюсь, мне удалось понять суть.

Обновление Чтобы переформулировать: могу ли я говорить о ссылках и указателях с использованием значения, которое я узнал, изучая C/C++, и не сомневаюсь, что разработчики Java набирают то же значение, что и я, вкладывая в него?

Обновление 2 Итак, было бы правильно предположить, что слово "указатель" бессмысленно/не должно использоваться в Java?

  • 0
    @ notanormie - Нет. В Java все передается по значению . Даже ссылки на объекты передаются по значению
  • 1
    возможный дубликат stackoverflow.com/questions/40480/…
Показать ещё 8 комментариев
Теги:
pointers
reference
terminology

1 ответ

0

Это будет легче понять, если вы сначала поймете, что хранится в памяти (Stack vs Heap), так как у вас минимальный контроль над управлением памятью по сравнению с C++. Как только это окажется в стороне, будет легче понять, какое значение и какой ссылочный тип и как проходят по значению и проходят по ссылке. Java строго передается по значению, но не каждый тип данных является типом значений. Надеюсь, это поможет. Это хорошее начало: http://www.journaldev.com/4098/java-heap-memory-vs-stack-memory-difference

Ещё вопросы

Сообщество Overcoder
Наверх
Меню