Скачать книгу

ключевого слова super с круглыми скобками. В скобках указывают аргументы, которые передаются конструктору суперкласса. Если аргументов нет, оставляют пустые скобки.

      В листинге 7.2 приведен пример использования конструктора подкласса. Обратите внимание на то, как происходит обращение к полям при помощи нового для вас ключевого слова this.

      Листинг 7.2 Использование конструктора подкласса

      // описание суперкласса

      class MyParentClass {

      // поля родительского класса

      String text;

      int number;

      // конструктор родительского класса

      MyParentClass (String text, int number) {

      // присваиваем полям значения аргументов

      this. text=text;

      this.number=number;

      // выводим значения полей на печать

      System.out.println («Сработал конструктор суперкласса!»);

      }

      }

      // описание подкласса

      class MyChildClass extends MyParentClass {

      char letter;

      int digit;

      // конструктор подкласса

      MyChildClass (String text, int number, char letter, int digit) {

      // вызываем конструктор суперкласса

      super (text, number);

      this. letter=letter;

      this. digit=digit;

      System.out.println («Сработал конструктор подкласса!»);

      }

      // описание метода подкласса

      void show () {

      // Выводим на печать значения всех полей объекта

      // присвоенные конструктором подкласса

      System.out.println («text="+this. text);

      System.out.println("number="+this.number);

      System.out.println («letter="+this. letter);

      System.out.println («digit="+this. digit);

      }

      }

      public class Listing7_2 {

      public static void main (String [] args) {

      // создаем объект подкласса

      // и передаем аргументы в конструктор подкласса

      MyChildClass obj=new MyChildClass («Hello», 200,«S», 5);

      obj.show ();

      }

      }

      В описании родительского класса MyParentClass присутствует конструктор с двумя аргументами. Конструктор получает в виде аргументов строку и целое число, которые присваивает полям объекта.

      Отступление: ключевое слово this

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

      В данной программе имена аргументов конструктора совпадают с именами полей класса. Аргументы методов и конструкторов являются локальными переменными. Если имя локальной переменной совпадает с именем поля класса, то по умолчанию считается, что речь идет о локальной переменной, а не о поле. Чтобы в такой ситуации обратиться к полю, нужно указать его полное имя, включая имя объекта через точку. Вместо указания полного имени объекта в конструкторах и методах применяют универсальное ключевое слово this («этот» – англ.) Вы не можете использовать в конструкторе или методе какое-то конкретное имя объекта. Ведь на основе класса и его конструктора может быть создано множество независимых объектов с разными именами. Поэтому применяется универсальная ссылка «этот», указывающая на объект, с которым программа работает в данный момент.

      Разумеется, имена

Скачать книгу