Базовые типы в Java

276
05 сентября 2017, 09:10

В лекции Шипилева есть замечание о том, что в java из базовых типов есть 8 примитивов типов и ссылка(8:30).Но ведь ссылка - это один из классов пакета java.lang.ref, разве нет ? И если, например, WeekReference - это базовый тип, то почему Object таким не является ?

Answer 1

Нет, ссылка в том контексте - это обычная ссылка (не класс из какого-либо пакета). Например,

List list = new ArrayList(); // ссылка link на экземпляр класса ArrayList
Object o = new Object(); // ссылка o на экземпляр класса Object 
// ... и т.д.

Это замечание про синтаксис языка. Устройство JVM может отличаться. JVM (например, HotSpot) может быть с применением shared_ptr из С++. Тогда отличия между обычной ссылкой и ссылкой из пакета java.lang.ref почти не будет - на этапе перевода байт-кода в нативный код они будут заменены на shared_ptr и unique_ptr с разными счетчиками.

READ ALSO
Можно ли совместить generic type двух разных классов в Java?

Можно ли совместить generic type двух разных классов в Java?

Делаю андроид приложениеНа DataBinding описываю смену врагментов в рамках одной активити

201
Две строки в элементе меню

Две строки в элементе меню

Необходимо динамически добавлять информацию о пользователе (имя + email) в элемент менюИнформация должна быть отображена в две строки в одном...

203
Grant location permission in Runtime по нажатии кнопки

Grant location permission in Runtime по нажатии кнопки

Смотрел уроки по данной теме и там нашел вот этот код:

270