Ответ 1
В Java все объекты и перечисления являются ссылочными типами, и все примитивы являются типами значений. Различие между ними такое же, как и в С# относительно семантики копирования, но вы не можете определить новый тип значения в Java.
С# делает различие этих двух. Ява делает то же или по-другому?
В Java все объекты и перечисления являются ссылочными типами, и все примитивы являются типами значений. Различие между ними такое же, как и в С# относительно семантики копирования, но вы не можете определить новый тип значения в Java.
Фактически, все в Java передается по значению, а ссылки являются особым типом значения, так же как указатели являются значениями в C. Подробнее о семантике здесь:
http://javadude.com/articles/passbyvalue.htm
С#, с другой стороны, имеет реальные ссылки a la С++, которые не связаны с ссылочными значениями... Может ли это запутать больше, чем это?
В Java примитивы являются типами значений, классы и массивы являются ссылочными типами.