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

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

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

пример

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

// A simple constructor.
class MyClass {
   int x;
   
   // Following is the constructor
   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