Dark dark = new Dark();
Что из этой строки является объектом?
Dark dark- ссылочная переменная класса Dark
new Dark() - конструктор
Но что является самим объектом?
И как мне понять, что какая-то переменная ссылается именно на этот объект?
Николай
15 уровень
Dark dark = new Dark(); Что из этой строки является объектом?
Решен
Комментарии (1)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергеев ВикторMaster
28 февраля 2019, 16:57решение
new Dark() - это не конктруктор, это вызов конструктора.
Объекта тут нет. Объект находится в памяти, вы оперируете только ссылкой на этот объект.
new Dark() - создает объект и возвращает вам ссылку на него
Dark dark - создаете переменную типизированную классом Dark. Типизированна - значит она знает о всех методах класса Dark и ссылаться она может только на объект типа Dark.
т.е. получается
Dark dark - создание переменной
new Dark() - создание объекта
Dark dark = new Dark(); - создание объекта с последующим присвоением ссылки на него переменной
И как мне понять, что какая-то переменная ссылается именно на этот объект?
- в вашей формулировке никак. Конечно можно, но почти никто так не делает, т.к. это не нужно. Чаще всего надо узнать идентичны ли объекты. Т.е. идентичны ли 2 квадрата со стороной 4, при том что это 2 разных квадрата, но они одинаковые.
+2