Зачем конструкторы в Java? Конструктор инициализирует объект при его создании. Он имеет то же имя, что и его класс, и синтаксически похож на метод. Однако конструкторы не имеют явного возвращаемого типа.

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

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

Синтаксис

Ниже приведен синтаксис как создать конструктор в Java:

class ClassName {
   ClassName() {
   }
}

Java допускает два типа конструкторов, а именно:

  • конструкторы без аргументов;
  • параметризованные конструкторы.

Конструктор без параметров

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

Пример

Public class MyClass {
   Int num;
   MyClass() {
      num = 100;
   }
}

Вы бы вызвали конструктор для инициализации объектов следующим образом:

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass();
      MyClass t2 = new MyClass();
      System.out.println(t1.num + " " + t2.num);
   }
}

Это приведёт к следующему результату:

100 100

Параметризованный конструктор

Чаще всего вам понадобится в Java конструктор, который принимает один или несколько параметров. Параметры добавляются в конструктор так же, как они добавляются в метод, просто объявляйте их в круглых скобках после имени конструктора.

Пример

Вот простой пример, в котором используется конструктор:

// Простой конструктор.
class MyClass {
   int x;
   
   // Ниже приведен конструктор
   MyClass(int i) {
      x = i;
   }
}

Вы должны вызвать конструктор для инициализации объектов следующим образом:

public class ConsDemo {
   public static void main(String args[]) {
      MyClass t1 = new MyClass( 10 );
      MyClass t2 = new MyClass( 20 );
      System.out.println(t1.x + " " + t2.x);
   }
}

Это приведёт к следующему результату:

10 20

Оглавление