Подтвердить что ты не робот

Какая разница между примитивными и ссылочными типами?

Это вопрос с прошлым экзаменом, и мне было интересно, что первый тип и ссылочный тип? С массивом я знаю, что ссылочный тип - это то, где массив состоит из объектов или переменных, но примитивный тип - это то, где вы должны создать массив только с int или string. (Правильно?)

Как вы думаете, что бы вы ответили на вопрос об испытании и получили хороший кредит? Не ссылаясь прямо на примитивный тип ARRAY... Есть ли способ сделать это без этого? Или вы думаете, что было бы просто объяснить это с помощью массива.

4b9b3361

Ответ 1

Это примитивные типы в Java:

  • булева
  • байт
  • короткий
  • char
  • ИНТ
  • длинный
  • поплавок
  • двойной

Все остальные типы являются ссылочными типами: они ссылаются на объекты.

Это первая часть учебника Java об основах языка.

Ответ 2

Из книги OCA JAVA SE 7

Так же, как мужчины и женщины принципиально отличаются (по словам Джона Серый, автор "Мужчины с Марса", "Женщины с Венеры" ), примитив переменные и ссылочные переменные объекта отличаются друг от друга в несколько способов. Основное отличие заключается в том, что хранилища примитивных переменных фактические значения, тогда как контрольные переменные хранят адреса объекты, на которые они ссылаются. Предположим, что класс Person уже определен. Если вы создаете переменную int a и объект контрольной переменной, они будут хранить свои значения в памяти как показанном на рисунке 2.13.

int a = 77;
Person person = new Person();

введите описание изображения здесь

Ответ 3

Короче говоря, На самом низком уровне мы имеем группу примитивных типов, таких как "byte", "short", "int", "long", "float", "double", "boolean", char "и Reference Reference, в основном предназначенные для группировки примитивных типов. Таким образом, вы можете иметь группу int как список, группу char как строку, класс примитивов и т.д.

Другим важным фактором является примитивный тип, содержащий значение и адрес удержания ссылки.

int item = 3;
int item2 = item;

Если элемент item2 удерживает значение 3 неподвижным. Но для ссылочного типа say

Point p = new Point(1.0, 2.0);
Point q = p;

q будет содержать адрес объекта p, а в VM - еще одну точку. Точно так же адрес передается методам ссылочного типа, тогда как значение будет передано для примитивного типа. Большинство других различий также связаны со значением и адресом.

Ответ 4

это примитивные типы данных

  • булева
  • символ
  • байт
  • короткий
  • целое число
  • длинный
  • поплавок
  • двойной

сохраняется в стеке в памяти, которая является управляемой памятью, с другой стороны, тип данных объекта или ссылочный тип данных, хранящийся в головке в памяти, управляемой GC

это самое важное отличие

Ответ 5

Примитивные типы данных:

  • Предопределен языком и назван по ключевому слову
  • Всего нет = 8
     булево
     char
     байт
     короткая
     целое
     долго
     плавать
     double

Типы ссылочных/объектных данных:

  • Создано с использованием определенных конструкторов классов
  • Используется для доступа к объектам
  • Значение по умолчанию для любой ссылочной переменной равно null
  • Контрольная переменная может использоваться для обозначения любого объекта объявленного типа или любого совместимого типа.

Ответ 6

Короткий ответ - это примитивы, это типы данных, а ссылки - указатели, которые не сохраняют свои значения, а указывают на их значения и используются в/с объектами.

Primatives

булево

символ

байт

короткое

целое число

long

поплавка

двойной

Много хороших ссылок, которые объясняют эти основные понятия. http://www.javaforstudents.co.uk/Types

Ответ 7

Примитивы против ссылок

Сначала: -

Примитивные типы - это основные типы данных: byte, short, int, long, float, double, boolean, char. Примитивные переменные сохраняют примитивные значения. Ссылочными типами являются любой экземплярный класс, а также массивы: String, Scanner, Random, Die, int[], String[] и т.д. Справочные переменные хранят адреса в местах памяти, где хранятся данные.

Второй: -

Примитивные типы хранят значения, но Reference type хранят дескрипторы объектов в кучном пространстве. Помните, что ссылочные переменные не являются указателями, как вы могли видеть на C и С++, они просто обрабатывают объекты, поэтому вы можете получить к ним доступ и внести некоторые изменения в состояние объекта.

Подробнее: http://javarevisited.blogspot.com/2015/09/difference-between-primitive-and-reference-variable-java.html#ixzz3xVBhi2cr

Ответ 8

  • Java имеет восемь примитивных типов: int, double, float, long, short, byte, char, boolean. Это означает, что программист не может определить новый примитивный тип.
  • Тип ссылки определяется пользователем, поэтому их неограниченное количество. 4 базовыми ссылочными типами java являются: классы, интерфейсы, массивы, перечисления.
  • Примитивные типы представляют собой одиночные значения. Ссылочные типы агрегируют типы, которые содержат нулевые или более примитивные значения или объекты.
  • Примитивные типы требуют от одного до восьми байтов памяти. Когда примитивное значение сохраняется в переменной или передается методу, компьютер делает копию байтов и удерживает значения. С другой стороны, объекты могут потребовать больше памяти.