Java Constructors Begrijpen: Initialisatie en Best Practices
Een constructor initialiseert een object wanneer het gemaakt wordt. Het heeft dezelfde naam als de class en is syntactisch vergelijkbaar met een methode. Constructors hebben echter geen expliciete return type.
Typisch gebruik je een constructor om initiële waarden te geven aan instance variabelen of om andere opstartprocedures uit te voeren voor een volledig gevormd object.
Alle classes hebben constructors, of je ze nu definieert of niet, want Java voorziet automatisch een default constructor die alle member variabelen op nul initialiseert. Zodra je je eigen constructor definieert, wordt de default niet meer gebruikt.
Syntax
class ClassName {
ClassName() { }
}
Java kent twee typen constructors:
- No-argument Constructors
- Parameterized Constructors
No-argument Constructors
Deze constructors accepteren geen parameters. Instance variabelen worden geïnitialiseerd met vaste waarden voor alle objecten.
Voorbeeld
public class MyClass {
int num;
MyClass() { num = 100; }
}
Aanroepen:
public class ConsDemo {
public static void main(String args[]) {
MyClass t1 = new MyClass();
MyClass t2 = new MyClass();
System.out.println(t1.num + " " + t2.num);
}
}
Resultaat
100 100
Parameterized Constructors
Vaak heb je een constructor nodig die parameters accepteert. Parameters worden op dezelfde manier toegevoegd als bij methodes: declareren binnen haakjes na de constructor naam.
Voorbeeld
class MyClass {
int x;
MyClass(int i) { x = i; }
}
Aanroepen:
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);
}
}
Resultaat
10 20
Java
- C++ constructors: default, parameterized en copy constructors uitgelegd
- Java-operators beheersen: typen, syntax en praktische voorbeelden
- Java-commentaar: typen, gebruik en best practices
- Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
- Java-constructors beheersen: typen, gebruik en praktische voorbeelden
- Java Strings beheersen: aanmaken, methodes en best practices
- Java interfaces meesteren: concepten, implementatie en best practices
- Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
- Java Try-with-resources meesteren: automatische resource management uitgelegd
- Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
- Java Assertions: een praktische gids voor bugdetectie en codebetrouwbaarheid