Java -constructeurs


Java-constructeurs

Een constructor in Java is een speciale methode die wordt gebruikt om objecten te initialiseren. De constructor wordt aangeroepen wanneer een object van een klasse wordt gemaakt. Het kan worden gebruikt om initiële waarden voor objectattributen in te stellen:

Voorbeeld

Maak een constructeur:

// 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

Merk op dat de naam van de constructor overeen moet komen met de klassenaam en mag geen retourtype hebben ( zoals void).

Merk ook op dat de constructor wordt aangeroepen wanneer het object wordt gemaakt.

Alle klassen hebben standaard constructors: als u zelf geen klassenconstructor maakt, maakt Java er een voor u. U kunt dan echter geen beginwaarden voor objectkenmerken instellen.


Constructorparameters

Constructors kunnen ook parameters gebruiken, die worden gebruikt om attributen te initialiseren.

In het volgende voorbeeld wordt een int yparameter aan de constructor toegevoegd. Binnen de constructor stellen we x in op y (x=y). Wanneer we de constructor aanroepen, geven we een parameter door aan de constructor (5), die de waarde van x instelt op 5:

Voorbeeld

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

U kunt zoveel parameters hebben als u wilt:

Voorbeeld

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