Nem, a konstruktorok lehetnek nyilvánosak, privátak, védettek vagy alapértelmezettek (egyáltalán nincs hozzáférésmódosító). Ha valami priváttá teszünk, az nem jelenti azt, hogy senki sem férhet hozzá. Ez csak azt jelenti, hogy az osztályon kívül senki sem férhet hozzá. Tehát a privát kivitelező is hasznos.
A konstruktorok privátak lehetnek a Java-ban?
A Java privát konstruktorát az objektumok létrehozásának korlátozására használják. Ez egy speciális példánykonstruktor, amelyet a statikus, csak tagokat tartalmazó osztályokban használnak. Ha egy konstruktor privátnak van deklarálva, akkor objektumai csak a deklarált osztályon belül érhetők el. Az objektumaihoz nem férhet hozzá a konstruktor osztályon kívülről.
Az alapértelmezett konstruktőrök privát vagy nyilvánosak?
A C++-ban a konstruktor automatikusan meghívásra kerül, amikor egy osztály objektumát létrehozzák. Alapértelmezés szerint a konstruktorok az osztály nyilvános szakaszában vannak megadva..
Miért nyilvánítjuk általában nyilvános tagnak a konstruktort a Java-ban?
A nyilvános konstruktor azt is jelenti, hogy elérhető az osztályon kívül is osztályon kívül. Ezenkívül nyilvánossá tesszük a konstruktort a konstruktornak, hogy inicializáljuk az osztályt a program bármely pontján.
Hogyan tehetem nyilvánossá a konstruktoromat?
Tegye nyilvánossá a konstruktort, ha megengedi, hogy a csomagon kívüli klienskód példányosítsa az objektumot. Ha nemezt szeretné(mivel az objektum csomagspecifikus, vagy maga az objektum nem példányosítható közvetlenül) use package-private.