Sobes.tech
Junior — Middle

Ce restricții există la utilizarea constructorilor privați în clase?

sobes.tech AI

Răspuns de la AI

Constructorii privați din clase au următoarele restricții:

  • Nu pot fi apelați din afara clasei, adică nu se poate crea un obiect al acestei clase folosind operatorul new în afara clasei în sine.
  • Sunt de obicei folosiți pentru implementarea modelelor, de exemplu, Singleton, sau pentru crearea de clase cu un set de metode statice (clase utilitare).
  • Datorită constructorului privat, nu se poate moșteni o astfel de clasă, deoarece subclasele nu vor putea apela constructorul clasei de bază.

Exemplu de utilizare a unui constructor privat pentru Singleton:

public class Singleton {
    private static final Singleton instance = new Singleton();

    private Singleton() {
        // constructor privat
    }

    public static Singleton getInstance() {
        return instance;
    }
}

Astfel, constructorul privat limitează crearea obiectelor doar în interiorul clasei și interzice crearea de instanțe din exterior.