1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/wizardforcel-thinking-in-java-zh

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
2.1 用引用操纵对象.md 3.7 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 11.03.2025 09:15 d56454c

2.1 Управление объектами с помощью ссылок

Каждый язык программирования имеет свои способы работы с данными. Иногда программист должен постоянно следить за тем, какой именно тип данных он обрабатывает. Вы когда-нибудь использовали специальную синтаксическую конструкцию для прямого обращения к объекту или работали с косвенной ссылкой на объект (например, указатели в C или C++)?

Все это значительно упрощено в Java, где любой объект можно рассматривать как экземпляр класса. Поэтому мы можем использовать единый синтаксис, который применим во всех местах. Однако важно понимать, что хотя все может быть "отнесено" к объектам, фактические идентификаторы являются "указателями" (Handle) на эти объекты. В некоторых других руководствах по Java вы можете встретить использование таких терминов, как "ссылка", а иногда даже "указатель". Можно представить себе ситуацию, когда вы используете пульт управления (ссылка) для управления телевизором (объектом). Держа этот пульт в руках, вы получаете доступ к каналу связи с телевизором. Но если вам нужно "переключить канал" или "уменьшить громкость", то вы фактически манипулируете пультом (ссылкой), который затем управляет телевизором (объектом). Если вам нужно перемещаться по комнате и при этом продолжать контролировать телевизор, то вы будете держать пульт, а не сам телевизор.Кроме того, даже если нет телевизора, пульт управления может существовать независимо. Это значит, что наличие ссылки само по себе не гарантирует наличия связанного объекта. Таким образом, чтобы хранить слово или предложение, вы можете создать ссылку типа String:

String s;

Однако здесь создается лишь ссылка, а не сам объект. Если вы попытаетесь отправить сообщение через s, возникнет ошибка (в момент выполнения программы). Это потому, что s фактически не связана ни с чем (то есть "нет телевизора"). Поэтому более безопасным подходом является инициализация ссылки сразу после её создания:

String s = "asdf";

Однако здесь используется специальный случай: строки могут быть инициализированы строкой символов. Обычно требуется более общее правило инициализации для объектов.

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/wizardforcel-thinking-in-java-zh.git
git@api.gitlife.ru:oschina-mirror/wizardforcel-thinking-in-java-zh.git
oschina-mirror
wizardforcel-thinking-in-java-zh
wizardforcel-thinking-in-java-zh
master