Page 15 - 4657
P. 15

} }
            class PointCreateAlt {
            public static void main(String args[]) {
            Point p = new Point();
            System.out.println("x = " + p.x + " у = " + p.y);
            } }

                 У  цьому  прикладі  об'єкт  класу  Point  створюється  не  при
            виклику  першого  конструктора,  як  це  було  раніше,  а  за
            допомогою другого конструктора без  параметрів. От результат
            роботи цієї програми:
            С:\> java PointCreateAlt
            х = -1 у = -1
                 Зауваження.
                 Рішення про те, який конструктор потрібно викликати в тім
            чи іншому випадку, приймається відповідно до кількості і типу
            параметрів,  зазначених  в  операторі  new.  Неприпустимо
            повідомляти  в  класі  методи  з  однаковими  іменами  і
            сигнатурами.  У  сигнатурі  методу  не  враховуються  імена
            формальних параметрів враховуються лише їхні типи і кількість.

                  Ключове слово this у конструкторах

                 Черговий  варіант  класу  Point  показує,  як,  використовуючи
            this  із  вмістом  методів,  можна  будувати  одні  конструктори  на
            основі інших.
            class Point { int х, у;
            Point(int х, int у) {
            this.x = х;
            this.у = у;
            }
            Point() {
            this(-1, -1);
            } }
                 У  цьому  прикладі  другий  конструктор  для  завершення
            ініціалізації об'єкта звертається до першого конструктора.


                                                                             13
   10   11   12   13   14   15   16   17   18   19   20