Главная » Java » Создание объектов, доступ к ним из программы на Java

0

 

Объекты (objects) классов, зачастую называемые экземплярами (instances), создаются с помощью выражений, содержащих служебное слово new.

 

Вновь созданные объекты размещаются в области системной памяти, известной как куча (heap). Доступ к объектам осуществляется посредством ссылок (references) – любая переменная, которая, как может показаться на первый взгляд, содержит сам объект, на самом деле хранит ссылку на этот объект. Типы подобных переменных называют ссылочными, или объектными, - в отличие от простых, когда переменные непосредственно содержат значения, соответствующие определенному типу. Ссылке присваивается значение null, если она не отвечает ни одному реально существующему объекту.

 

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

Вернемся к примеру класса Роint и предположим, что перед нами стоит задача создания графического приложения, в котором придется иметь дело с множеством точек. Каждая из точек может быть представлена своим собственным объектом класса Point. Приведенный ниже код показывает приемы создания и инициализации объектов класса Point.

 

 

Point lowerLeft = new Point();

                               Point upperRight = new Point();

                               Point middlePoint = new Point();

                              

                               lowerLeft.x = 0.0;

                               lowerLeft.y = 0.0;

                              

                               upperRight.x = 1280.0;

                               upperRight.y = 1024.0;

                              

                               middlePoint.x = 640.0;

                               middlePoint.y = 512.0;

 

Каждый объект класса Роint уникален и обладает собственными копиями полей х и у. Если, например, изменить значение переменной х, принадлежащей объекту lowerLeft, это никоим образом не скажется на содержимом одноименных полей объектов upperRight и middlePoint. Такие поля называют переменными экземпляра (instance variables), поскольку в каждом экземпляре класса существует независимая копия поля.

Источник: Арнолд, Кен, Гослинг, Джеймс, Холмс, Дэвид. Язык программирования Java. 3-е изд .. : Пер. с англ. – М. : Издательский дом «Вильяме», 2001. – 624 с. : ил. – Парал. тит. англ.

По теме:

  • Комментарии