В Java они используют номенклатуру REFERENCE для ссылки на динамически создаваемые объекты. На предыдущих языках он называется POINTER. Подобно тому, как именование МЕТОДОВ в объектно-ориентированных языках заимствовано из прежних ФУНКЦИЙ и ПРОЦЕДУР в более ранних (как объектно-ориентированных, так и не объектно-ориентированных) языках. Нет ничего лучше или хуже в этом наименовании или новом стандарте, это просто еще один способ назвать явление способности создавать бывшие динамические объекты, зависшие в воздухе (куче пространства) и на которые ссылается фиксированная ссылка на объект ( или динамическая привязка тоже висит в воздухе). Авторы нового стандарта (использование METHODS и REFERENCES) особо отметили, что новые стандарты были реализованы, чтобы привести его в соответствие с будущими системами планирования - такими как UML и UP, где использование объектно-ориентированной терминологии предписывает использование ATTRIBUTES, МЕТОДЫ и ССЫЛКИ, а не ПЕРЕМЕННЫЕ, ФУНКЦИИ и УКАЗАТЕЛИ.
Теперь вы можете подумать, что это было просто переименование, но это упростило бы описание процесса, а не просто длинный путь, который языки выбрали во имя разработки. Метод по своей природе отличается от процедуры тем, что он работает в области видимости класса, тогда как процедура по своей природе работает в глобальной области видимости. Точно так же атрибут - это не просто новое имя переменной, так как атрибут является свойством класса (а его экземпляр - объект). Точно так же ссылка, которая является вопросом, стоящим за этим небольшим написанием здесь, отличается тем, что она напечатана, поэтому она не имеет типичного свойства указателей, являясь необработанными ссылками на ячейки памяти, таким образом, опять же, ссылка является структурированной ссылкой на объекты на основе памяти.
Теперь, внутри Java, то есть - в желудке Java существует арбитражный уровень между базовым C-кодом и кодом Java (виртуальная машина). На этом уровне арбитража происходит абстракция, заключающаяся в том, что базовая (голая металлическая) реализация ссылок, как это делается на Виртуальной машине, защищает ссылки от ссылок на голый металл (ячейки памяти без структуры). Таким образом, грубая истина заключается в том, что исключение NullPointerException - это действительно исключение нулевого указателя, а не просто исключение нулевой ссылки. Тем не менее, эта истина может быть совершенно неактуальной для программиста в среде Java, так как он / она никогда не будет контактировать с голой железной JVM.