Junior — Middle
Welke beperkingen zijn er bij het gebruik van private constructors in klassen?
sobes.tech AI
Antwoord van AI
Privé constructors in klassen hebben de volgende beperkingen:
- Ze kunnen niet van buiten de klasse worden aangeroepen, dat wil zeggen, het is niet mogelijk om een object van deze klasse te maken met de operator
newbuiten de klasse zelf. - Ze worden meestal gebruikt om patronen te implementeren, bijvoorbeeld Singleton, of om klassen te maken met een set statische methoden (hulpprogrammaklassen).
- Vanwege de privé-constructeur kan zo'n klasse niet worden geërfd, omdat subklassen de constructor van de basisklasse niet kunnen aanroepen.
Voorbeeld van het gebruik van een privé-constructeur voor Singleton:
public class Singleton {
private static final Singleton instance = new Singleton();
private Singleton() {
// privé-constructeur
}
public static Singleton getInstance() {
return instance;
}
}
Op deze manier beperkt de privé-constructeur het maken van objecten alleen binnen de klasse en verbiedt het het maken van instanties van buitenaf.