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
   8   9   10   11   12   13   14   15   16   17   18