Sobes.tech
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 new buiten 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.