На этом шаге мы рассмотрим как использовать существующий класс
Чтобы работать с объектами, их нужно сначала создать и задать их исходное состояние. Затем к этим объектам можно применять методы. В Java для создания новых экземпляров служат конструкторы. Конструктор - это специальный метод, предназначенный для создания и инициализации экземпляра класса. В качестве примера мы на этом шаге будем использовать класс Date, входящий в стандартную библиотеку Java. С помощью объектов этого класса можно описать текущий или любой другой момент времени, например "December 31, 1999, 23:59:59 GMP".
Имя конструктора всегда должно совпадать с именем класса. Следовательно, конструктор класса Date имеет имя Date. Чтобы создать объект класса Date, нужно вызвать конструктор класса Date, объединив его с операцией new, как это показано ниже.
new Date();
В этом фрагменте кода создается новый объект класса Date и инициализируется текущими датой и временем. Как только вы создали и проинициализировали новый объект, его можно использовать, например передавать его методу:
System.out.println(new Date());
В предыдущем примере созданный объект используется только один раз. Но на практике часто требуется использование объекта большое число раз. Для этого созданный объект связывают с некоторым индификатором, иными словами присваивают объект некоторой переменной, как это показано ниже:
Date birthday = new Date();
В данном примере переменная birthday будет ссылаться на вновь созданный объект класса Date. Между объектами и объектными переменными есть существенная разница. Например, пусть у нас есть переменная deadline:
Date deadline;
Важно понимать, что на этом этапе сама переменная deadline объектом не является и даже не ссылается ни на один из объектов. Поэтому ни один из методов класса Date нельзя вызвать по этой переменной (попытка сделать это приведет к появлению сообщения об ошибке).
Сначала переменную deadline нужно проинициализировать. Для этого можно воспользоваться двумя способами:
Важно помнить, что объектная переменная фактически не содержит никакого объекта. Она лишь ссылается на него. В Java значение любой объектной переменной представляет собой ссылку на объект, размещенный в другом месте. Операция new также возвращает сылку.
Объектной переменной можно явно присвоить пустое значение null, чтобы указать на то, что она пока не ссылается ни на один из объектов. Локальные переменные не инициализируются автоматически пустым значением null. Программист должен сам проинициализировать переменную, выполнив операцию new или присвоив ей пустое значение null. Обратимся к примеру:
Date deadline = null; ... if (deadline != null){ System.out.println(deadline); }
Если мы попытаемся использовать методы переменной deadline, при этом если она не будет ссылаться на некоторый объект, то будет выведенно сообщение об ошибке. Для того, чтобы ошибки не возникало, в данном фаргменте программы мы используем проверку.
На следующем шаге мы рассмотрим использование класса GregorianCalendar