Java
Какая разница между объектом, экземпляром, ссылке? Прочитайте вопрос полностью...
Какая разница между объектом, экземпляром, ссылке? И какая разница между: int a = 100; Integer b = 100; Integer c = new Integer (100) ??
int a = 100; //примитивный тип данных (не объект, не экземпляр, не ссылка)
Integer b = 100; //создание объекта/экземпляра класса Integer при помощи боксинга
Integer c = new Integer (100); //создание объекта/экземпляра класса Integer, через конструктор.
Integer b = 100; //создание объекта/экземпляра класса Integer при помощи боксинга
Integer c = new Integer (100); //создание объекта/экземпляра класса Integer, через конструктор.
Прочитал полностью и заметил рассогласование в падеже слова "ссылке". Со ссылками в Java всё очень плохо: они присутствуют неявно. Объект - экземпляр класса, класс - проект объекта. По одному и тому же проекту можно создать много объектов. Можно слегка изменить проект... Мне кажется удачной аналогия класс == проект, много становится интуитивно понятно.
В примере Integer b = 100; Integer c = new Integer (100) одно и то же. Создаётся объект класса (класса-оболочки) и с ним можно работать как с объектом: у него есть методы. А int a = 100 - "проклятое наследие прошлого" у "а" нет методов, это не экземпляр класса.
В примере Integer b = 100; Integer c = new Integer (100) одно и то же. Создаётся объект класса (класса-оболочки) и с ним можно работать как с объектом: у него есть методы. А int a = 100 - "проклятое наследие прошлого" у "а" нет методов, это не экземпляр класса.
Знаешь что, эти либо очень простой вопрос, либо очень сложный....
Простой ответ, я думаю тебе напишут ...но вот если ты поймешь почему :
Integer a = 100;
Integer b = 300;
System.out.println(100 == a); // true 100 == 100
System.out.println(300 == b); // false 300 !=300
Ты ответишь на сложный :)
Простой ответ, я думаю тебе напишут ...но вот если ты поймешь почему :
Integer a = 100;
Integer b = 300;
System.out.println(100 == a); // true 100 == 100
System.out.println(300 == b); // false 300 !=300
Ты ответишь на сложный :)
Объект, это какой-либо класс, например Cat
Экземпляр - это копия какого либо класса. То есть когда мы пишем Cat cat = new Cat(), мы создаем новый экземпляр класса Cat. Если мы при создании передадим ему значения, то этот экземпляр будет хранить эти данные. Например Cat cat = new Cat(); cat.name = "Barsik";
Таким образом экземпляр класса Cat хранит в себе данные. Но сам объект (наш начальный -класс) не поменялся. Переменные в Java хранят не само значение объекта, а ссылку на какой-то объект. При создании класса Cat cat = new Cat(); Мы создаем переменную типа Cat и в неё помещается ссылка на объект типа Cat; Если мы создадим еще одну переменную Cat cat2; и в приравняем к cat( cat2 = cat;), то мы в переменную cat2 кладем ссылку на экземпляр класса. Получается что две переменных ссылаются на один и тот же экземпляр класса. Надеюсь, что все доходчиво объяснил.
Экземпляр - это копия какого либо класса. То есть когда мы пишем Cat cat = new Cat(), мы создаем новый экземпляр класса Cat. Если мы при создании передадим ему значения, то этот экземпляр будет хранить эти данные. Например Cat cat = new Cat(); cat.name = "Barsik";
Таким образом экземпляр класса Cat хранит в себе данные. Но сам объект (наш начальный -класс) не поменялся. Переменные в Java хранят не само значение объекта, а ссылку на какой-то объект. При создании класса Cat cat = new Cat(); Мы создаем переменную типа Cat и в неё помещается ссылка на объект типа Cat; Если мы создадим еще одну переменную Cat cat2; и в приравняем к cat( cat2 = cat;), то мы в переменную cat2 кладем ссылку на экземпляр класса. Получается что две переменных ссылаются на один и тот же экземпляр класса. Надеюсь, что все доходчиво объяснил.
<<Purgenich>> ****
я правильно понял: если Cat cat1 = new Cat; cat1.name = "A"; и Cat cat2 = new Cat; cat2.name = "B";
Мы напишем (cat1.name = cat2.name) то будет True, ибо они имеют одну и ту же самую ссылку (Cat cat=new Cat), тоесть экземпляр (копия) один, да?
Мы напишем (cat1.name = cat2.name) то будет True, ибо они имеют одну и ту же самую ссылку (Cat cat=new Cat), тоесть экземпляр (копия) один, да?
Похожие вопросы
- Возможно глупый вопрос, но всё же... Зачем создавать объекты в java?
- Что такое объекты в Java?
- Как обратиться к объектам другого класса
- Зачем создают отдельный объект монитора для synchronized блока?
- какая разница между интерфейсом и абстрактным классом? И есть она принципиальная ?. Приведите примеры.
- Не могу понять ОБЪЕКТЫ в языках программ. Объясните простыми словами
- Что такое класс, метод и объект в языке программирования java?
- Какой язык учить первым? Java или JavaScript? В чем разница?
- Массивы Прочитал несколько статей по массивам, но так и не понял, как они работают. Объясните вкратце и понятно, плз
- Статическая и динамическая типизация в программировании - в чем разница? Пожалуйста, простыми словами, я новичок.
Нужно создать метод чтобы переменную которую мы передаем менялась в методе. Оно-то так должен выглядеть:
a = 50;
<Вызвали метод> (<параметр а>)
после этого метода а должно быть равно 100;
//Я думаю нужно как-то по ссылке метод реализовать а как не знаю.