Коллеги, привет!
Помогите разобраться с логикой составления ссылочный переменных.
Итак, что я понял. Есть у нас простые и сложные переменные, и мы должны определить их тип, наименование и значение
String s = null;
Где:
(String) - это тип переменной;
(s) - имя переменной;
(null) - значение переменной;
Теперь что я не понял:
Person person;
person = new Person();
person = null;
Где:
(Person person) - Где тут тип переменной, а где имя? Зачем 2 раза писать person?;
(person = new Person()) - Вобще не понял что это. Мы создаем ссылку на объект? Создаем объект?
(person = null) - Вот тут я совсем выпал. В лекции говорится что мы присвоили ссылку переменной, но мы же в строке ранее уже создали ссылку на объект, зачем её ещё раз присваивать?
В общем, разъясните для хлебушка пожалуйста😟
Артем Стукалов
23 уровень
Ссылочные переменные, не понимаю логику.
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Павел Безумный учёный Expert
19 мая 2020, 15:02полезный
Здесь объявляется ссылочная переменная типа Person с именем person. Имя переменной может быть любым, но лучше, чтобы оно выражало суть привязываемого к ней объекта (для улучшения читаемости кода).
Объект (или, говоря иначе - экземпляр класса) создаётся при помощи ключевого слова new:
Объект был создан, но тут же был потерян, поскольку не был привязан к ссылочной переменной.
В следующей строке ссылка person обнуляется. При этом сам объект, на который ссылалась переменная, теряется:
+2
Евгений
19 мая 2020, 15:11полезный
Я лишь дополню, вдруг тоже пригодится.
Обратите внимание на запись
Здесь String означает тип (класс). Классы всегда пишутся с заглавной буквы. А s - имя переменной. С тем же успехом её можно было бы назвать string.
По аналогии
Смотрите, что пишется с большой буквы, а что с маленькой.
Ну и еще. Не расстраивайтесь, если сейчас что-то непонятно. Дальше это еще несколько раз расскажут.
+1