Page 13 - 4657
P. 13
можна змінювати вміст того об'єкта, на який посилається дана
змінна. Пізніше Ви довідаєтеся, як змінювати змінні
примітивних типів по посиланню (через класи-оболонки).
Приховання змінних екземплярів класів.
У мові Java не допускається використання в одній чи у
вкладених областях видимості двох локальних змінних з
однаковими іменами. Цікаво відзначити, що при цьому не
забороняється повідомляти формальні параметри методів, чиї
імена збігаються з іменами змінних екземплярів класів. Давайте
розглянемо як приклад іншу версію методу init, у якій
формальним параметрам дані імена х та у, а для доступу до
однойменної змінної поточного об'єкта використовується
посилання this.
class Point { int х, у;
void init(int х, int у) {
this.x = х;
this.у = у }
}
class TwoPointsInit {
public static void main(String args[]) {
Point p1 = new Point();
Point p2 = new Point();
p1.init(10,20);
p2.init(42,99);
System.out.println("x = " + p1.x + " у =
+ p-l.y);
System.out.printlnC'x = " + p2.x + " у = " +
p2.y);
}
}
Конструктори.
Ініціалізовувати усі змінні класу кожен раз, коли
створюється його черговий екземпляр - досить стомлююча
справа навіть у тому випадку, коли в класі є функції, подібні до
методу init. Для цього в Java передбачені спеціальні методи,
названі конструкторами. Конструктор - це метод класу, що
11