Nej, konstruktörer kan vara offentliga, privata, skyddade eller standard (ingen åtkomstmodifierare alls). Att göra något privat betyder inte att ingen kan komma åt det. Det betyder bara att ingen utanför klassen kan komma åt den. Så privat konstruktör är också användbar.
Kan konstruktörer vara privata i Java?
En privat konstruktor i Java används för att begränsa objektskapandet. Det är en speciell instanskonstruktor som används i statiska klasser som endast är medlemmar. Om en konstruktor deklareras som privat, är dess objekt endast tillgängliga från den deklarerade klassen. Du kan inte komma åt dess objekt utanför konstruktorklassen.
Är standardkonstruktörer privata eller offentliga?
I C++ anropas konstruktorn automatiskt när objekt i en klass skapas. Som standard är konstruktörer definierade i public sektion av klassen.
Varför förklarar vi i allmänhet konstruktör som offentlig medlem i Java?
Den offentliga konstruktören betyder också den kan vara tillgänglig utanför klassen. Den andra klassen kan också få dem på ett enkelt sätt men om vi gör konstruktören som privat är den inte tillgänglig utanför klassen. Vi gör också konstruktorn till konstruktorn som offentlig för att initiera klassen var som helst i programmet.
Hur gör jag min konstruktör offentlig?
Gör konstruktorn offentlig om du tillåter att din klientkod utanför paketet instansierar ditt objekt. Om du inte gör detvill ha det (eftersom objektet är paketspecifikt eller att objektet i sig inte kan instansieras direkt) use package-private.