Подтвердить что ты не робот

Объект vs Ссылка в Java

В Java, если я объявляю,

MyClass obj;

Является ли obj "ссылкой" или "объектом". Я не создаю класс здесь.

4b9b3361

Ответ 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.