Объект vs Ссылка в Java
В Java, если я объявляю,
MyClass obj;
Является ли obj "ссылкой" или "объектом". Я не создаю класс здесь.
Ответы
Ответ 1
obj - ссылка на экземпляр MyClass.
В настоящее время эта ссылка является NULL, потому что вы не назначили ее для обращения к любому экземпляру.
Технически MyClass должен быть подклассом Object, поэтому можно сказать, что obj также является ссылкой на экземпляр объекта.
Ответ 2
Ссылка:
Переменная, указывающая на некоторый объект в памяти.
Он хранится в стеке, они могут содержаться в других объектах (тогда они не являются действительно переменными, но полями), что также помещает их в кучу.
Объект:
Экземпляр класса, который создается динамически.
Он хранится в куче
Пример:
MyClassI aObj,aObj1;
aObj=new MyClass2();
В первой строке aObj и aObj1 являются ссылками
Во второй строке aObj, ссылающейся на объект MyClass2 (новый оператор создает объект Myclass2 и его адрес присваивается aObj).
Чтобы лучше понять
класс Car с именем driverName в качестве участника.
Car c1,c2;
c1.driverName="Andrew"
c2.driverName="Gabriel"
System.out.println(c1.driverName);//gives Andrew
Sytem.out.println(c2.driverName);//gives Gabriel
c1=c2;
c2=null;
//gives gabriel bcuz the address of c2 is copied to reference c1. the object is not nullified because c2 is just a reference when assigning null the address that is stored on c2 in nullified not the object it points..
system.out.println(c1.driverName);
Ответ 3
В информатике ссылка является значение, которое позволяет программе косвенно получать доступ к конкретным данным элемент, такой как переменная или запись, в памяти компьютера или в некоторых другое запоминающее устройство. Ссылка сказал, чтобы обратиться к элементу данных, и доступ к этим данным разыменование ссылки.
В информатике объектом является любой субъект, которому можно манипулировать команды языка программирования, такие как значение, переменная, функция, или структуры данных. (С более поздним внедрение объектно-ориентированного программирование того же слова, "объекта", относится к конкретному экземпляру класс)
поэтому obj является ссылкой и new MyClass()
можно рассматривать как объект
Ответ 4
Иногда вы слышите, как люди говорят "Создайте метод, который принимает объект как параметр и..."
Если вы новичок в программировании, и особенно с Java, такие утверждения могут привести к некоторой путанице. Эти люди используют слово "объект" для обозначения экземпляра класса в очень общих терминах ООП, не обязательно специфичных для Java.
Когда мы говорим о специфике Java и кода, который у вас есть, это ссылка на экземпляр MyClass
, который является NULL.
Ответ 5
obj - это ссылка типа MyClass. Текущая ссылка не указывает ни на что (то есть: null).
Ответ 6
'obj' - переменная. Он содержит ссылку или null. Если он содержит ссылку, это относится к объекту.
Ответ 7
- В Java все объекты доступны по ссылке, и у вас никогда не будет прямого доступа к самому объекту.
-
ссылка: - это переменная, которая имеет имя и может использоваться для доступа к содержимому объекта. Ссылка может быть назначена другой ссылке, переданной методу или возвращенной методом. Все ссылки имеют одинаковый размер, независимо от их типа. "Объектный объект".
-
object: - это сущность, которая существует в памяти, выделенной средой времени выполнения Java. Объект находится в куче и не имеет имени Like "Object object = new Object();".
-
поэтому MyClass obj Здесь Ссылка, относящаяся к Null.
-
Мы можем суммировать этот принцип со следующими двумя правилами:
- Тип объекта определяет, какие свойства существуют в объекте в памяти.
- Тип ссылки на объект определяет, какие методы и переменные доступны для программы Java.