it-swarm.com.ru

Что именно является экземпляром в Java?

В чем разница между объектом, экземпляром и ссылкой? Они говорят, что они должны создать экземпляр для своего приложения? Что это значит?

44
priya

Объект и экземпляр - это одно и то же .

Лично я предпочитаю использовать слово «экземпляр» при обращении к конкретному объекту определенного типа, например «экземпляр типа Foo». Но когда мы говорим об объектах вообще, я бы сказал «объекты», а не «экземпляры». 

Ссылка либо ссылается на конкретный объект, либо может быть пустой ссылкой.


Они говорят, что они должны создать экземпляр для своего приложения. Что это значит?

Они, вероятно, означают, что вы должны написать что-то вроде этого:

Foo foo = new Foo();

Если вы не уверены, какой тип вы должны создать, вам следует обратиться к разработчикам приложения и попросить более полный пример.

68
Mark Byers

«экземпляр приложения» ничего не значит.

«объект» и «экземпляр» - это одно и то же. Существует «класс», который определяет структуру и экземпляры этого класса (полученные с помощью new ClassName()). Например, есть класс Car, и есть экземпляр с различными свойствами, такими как пробег, максимальная скорость, мощность, марка и т.д.

В контексте Java ссылка - это переменная * - это нечто, указывающее на объект/экземпляр. Например, String s = null; - s является ссылкой, которая в настоящее время не ссылается на экземпляр, но может ссылаться на экземпляр класса String.

* Джон Скит сделал заметку о разнице между переменной и ссылкой. Смотрите его комментарий. Это важное различие в том, как работает Java, когда вы вызываете метод - передача по значению. 

Значение s является ссылкой. Очень важно различать переменные и значения, а также объекты и ссылки.

10
Bozho

Я думаю, что Объект = Экземпляр. Ссылка - это «ссылка» на Объект.

Car c = new Car();

переменная c хранит ссылку на объект типа Car.

8
Voooza

Когда вы используете ключевое слово new, например, JFrame j = new JFrame();, вы создаете экземпляр класса JFrame

Оператор new создает экземпляр класс, выделяя память для нового объект и возвращая ссылку на эта память.
Примечание: Фраза "создание экземпляра класса" означает то же самое, что и «создание объекта». Когда вы создаете объект, вы создаете "экземпляр" класса, следовательно "создание экземпляра" класса.

Посмотрите здесь
Создание объектов


Типы программирования Java Язык делится на два категории: primitive types и reference типы.
Типы referenceclass типы, interface типы и array типы.
Существует также специальный null тип.
Объект является динамически создаваемый экземпляр Тип class или динамически создаваемый array.
Значения reference Тип - это ссылки на объекты.

См. Типы, Значения и Переменные для получения дополнительной информации 

7
Alpine
Computer c= new Computer()

Здесь объект создается из класса Computer. Ссылка с именем c позволяет программисту получить доступ к объекту.

5
vijay

Основное различие заключается в том, что вы говорите ClassName obj = null; вы просто создаете объект для этого класса. Это не экземпляр этого класса.

Этот оператор просто выделит память для статических переменных meber, а не для обычных переменных-членов.

Но когда вы говорите ClassName obj = new ClassName (); вы создаете экземпляр класса. Это состояние выделит памяти все переменные-члены.

4
Kumar

в основном объект и экземпляр - это два слова, используемые взаимозаменяемо. Класс - это шаблон для объекта, а объект - это экземпляр класса.

3
karunesh pal

"создание экземпляра класса" как насчет "вы берете класс и создаете новую переменную этого класса, которая БУДЕТ изменяться в зависимости от изменяемого ввода"

Класс в библиотеке под названием Начо

переменная Libre для хранения «экземпляра», который изменится

Nacho Libre = новый Nacho (переменная, вход для сканера или что-то еще здесь. Это место, где принимаются изменения, затем помещается значение в «Libre» слева от знака равенства (вы знаете, «Nacho Libre = новый Nacho ( Scanner.in) "" Nacho Libre "находится слева от = (это не технический разговор, это мой способ объяснить это)

Я думаю, что это лучше, чем говорить «экземпляр типа» или «экземпляр класса». На самом деле дело в том, что его просто нужно детализировать подробнее ... "экземпляр типа или класса" недостаточно хорош для начинающего ..... вау, это как скороговорка, а твой мозг не может сосредоточиться на скороговорках очень хорошо ... этот "экземпляр" Word очень раздражает, и один лишь его звук сводит меня с ума ... он просит больше подробностей ..... он просит сломаться лучше. Я должен был гуглить, что означает «экземпляр», чтобы понять, как правильно… попробуйте сказать «экземпляр класса» своей бабушке….

1
Whattheheck

Буквальное значение экземпляра - это «пример или единичное вхождение чего-либо». что очень близко к терминологии экземпляра в Java.

Java следует за динамической загрузкой, которая не похожа на язык C, где весь код копируется в RAM во время выполнения. Давайте запишем это на примере.

   class A
    {
    int x=0;
    public static void main(String [] args)    
     {
    int y=0;
    y=y+1;
    x=x+1;
     }   

    }

Давайте скомпилируем и запустим этот код.

шаг 1: javac A.class (генерируется файл .class, который является байтовым кодом) 

шаг 2: Java A (файл .class преобразуется в исполняемый код)

На шаге 2 основной метод и статические элементы загружаются в RAM для выполнения. В приведенном выше сценарии нет проблем, пока линия y = y + 1. Но всякий раз, когда выполняется x = x + 1, возникает ошибка времени выполнения, поскольку JVM не знает, что такое x, объявленный вне основного метода (нестатический).

Поэтому, если каким-либо образом содержимое файла .class доступно в памяти для выполнения CPU, проблем больше нет. 

Это делается путем создания объекта и ключевого словаNEWвыполняет эту работу.

" Концепция резервирования памяти в RAM для содержимого жесткого диска (здесь .class файл) во время выполнения называется Instance "

Объект также называется экземпляром класса.

1
Venkatesh Chidipothu

Объекты, которые такженазываются экземплярами, являются автономными элементами программы со связанными функциями и данными. По большей части вы используете класс просто для создания экземпляров, а затем работаете с этими экземплярами. 

- определение взято из книги «Самс научи себя Java за 21 день».

Скажем, у вас есть 2 класса: открытый класс MainClass и открытый класс Class_2, и вы хотите сделать экземпляром Class_2 в MainClass. 

Это очень простой и простой способ сделать это:

public MainClass()      /*******this is the constructor of MainClass*******/

{

 Class_2 nameyouwant = new Class_2();

}

Надеюсь, это поможет!

1
P. Soutzikevich