Java за неделю. Вводный курс. Валерий Станиславович Яценков

Чтение книги онлайн.

Читать онлайн книгу Java за неделю. Вводный курс - Валерий Станиславович Яценков страница 26

Java за неделю. Вводный курс - Валерий Станиславович Яценков

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

obj=new MyClass ();

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

      В классе может быть описано несколько конструкторов, которые можно перегружать аналогично обычным методам. Какой из конструкторов вызвать, определяется автоматически по количеству и типу аргументов. Чтобы сохранить возможность вызова конструктора объекта без аргументов, в классе нужно отдельно описать конструктор без аргументов. Конструктор может быть «пустым», то есть не выполнять никаких действий.

      При описании конструктора следует соблюдать определенные правила. Имя конструктора должно совпадать с именем класса. Конструктор никогда не возвращает результат, но ключевое слово void не используется.

      В листинге 6.5 приведен пример программы, в которой используются конструкторы объектов с перегрузкой.

      Листинг 6.5 Пример использования конструкторов

      class MyClass {

      // Объявляем поля класса

      int digit;

      char letter;

      // Конструктор класса без аргументов

      MyClass () {

      digit=9;

      letter=«Z»;

      System.out.println («Вызван конструктор объекта без аргументов.»);

      System.out.println («Полям присвоены значения "+digit+" и "+letter);

      }

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

      MyClass (int a, char b) {

      digit=a;

      letter=b;

      System.out.println («Вызван конструктор объекта с двумя аргументами.»);

      System.out.println («Полям присвоены значения "+digit+" и "+letter);

      }

      }

      public class Listing6_5 {

      public static void main (String [] args) {

      // Создаем первый объект класса MyClass

      // Вызывается конструктор без аргументов

      MyClass objFirst=new MyClass ();

      // Создаем второй объект класса MyClass

      // Вызывается конструктор с двумя аргументами

      MyClass objSecond=new MyClass (8, «B»);

      }

      }

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

      6.2.4 Статические поля и методы

      Когда мы создаем объект класса, то поля, описанные в классе, фактически превращаются в переменные объекта. Методы, описанные в классе, становятся методами объекта и имеют доступ к полям только «своего» объекта. Такие члены класса называют нестатическими.

      Но могут существовать и статические члены класса. Они являются «общими» для всех объектов класса и существуют, даже если не создан ни один объект. К статическому члену класса

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