Java Constructors

Оновлено: 22.05.2023

Конструктори Java

Конструктор в Java - це спеціальний метод, який використовується для ініціалізації об'єктів. Конструктор викликається при створенні об'єкта класу. З його допомогою можна встановити початкові значення для атрибутів об'єкта:

Створіть конструктор:

// Create a Main class
public class Main {
  int x;  // Create a class attribute

  // Create a class constructor for the Main class
  public Main() {
    x = 5;  // Set the initial value for the class attribute x
  }

  public static void main(String[] args) {
    Main myObj = new Main(); // Create an object of class Main (This will call the constructor)
    System.out.println(myObj.x); // Print the value of x
  }
}

// Outputs 5
Зверніть увагу, що ім'я конструктора має збігатися з ім'ям класу, і він не може мати тип повернення (наприклад, void). Також зверніть увагу, що конструктор викликається при створенні об'єкта. Усі класи мають конструктори за замовчуванням: якщо ви не створите конструктор класу самостійно, Java створить його за вас. Однак, тоді ви не зможете встановити початкові значення для атрибутів об'єкта.

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

Конструктори також можуть приймати параметри, які використовуються для ініціалізації атрибутів.

У наступному прикладі до конструктора додається параметр int y. Усередині конструктора ми встановлюємо x на y (x=y). Коли ми викликаємо конструктор, ми передаємо йому параметр (5), який встановить значення x рівним 5:

public class Main {
  int x;

  public Main(int y) {
    x = y;
  }

  public static void main(String[] args) {
    Main myObj = new Main(5);
    System.out.println(myObj.x);
  }
}

// Outputs 5

Ви можете мати стільки параметрів, скільки хочете:

public class Main {
  int modelYear;
  String modelName;

  public Main(int year, String name) {
    modelYear = year;
    modelName = name;
  }

  public static void main(String[] args) {
    Main myCar = new Main(1969, "Mustang");
    System.out.println(myCar.modelYear + " " + myCar.modelName);
  }
}

// Outputs 1969 Mustang