Жоқ, конструкторлар жалпыға ортақ, жеке, қорғалған немесе әдепкі болуы мүмкін (мүлдем рұқсат модификаторы жоқ). Бір нәрсені жеке ету оған ешкім қол жеткізе алмайды дегенді білдірмейді. Бұл жай ғана сыныптан тыс ешкім оған қол жеткізе алмайтынын білдіреді. Сондықтан жеке конструктор да пайдалы.
Жавада конструкторлар жеке бола ала ма?
Java тіліндегі жеке конструктор объект жасауды шектеу үшін пайдаланылады. Бұл тек статикалық мүшелік сыныптарда қолданылатын арнайы даналық конструктор. Егер конструктор жеке деп жарияланса, оның нысандарынажарияланған сыныптан ғана қол жеткізуге болады. Оның нысандарына конструктор сыныбынан тыс қол жеткізе алмайсыз.
Әдепкі конструкторлар жеке ба әлде жалпыға ортақ па?
С++ тілінде класс объектісі жасалғанда конструктор автоматты түрде шақырылады. Әдепкі бойынша конструкторлар сыныптыңжалпы бөлімінде анықталады.
Неліктен біз конструкторды Java тілінде жалпыға ортақ мүше ретінде жариялаймыз?
Жалпы конструктор сонымен қатар оған сыныптан тыс қол жеткізуге болатынын білдіреді. Басқа класс оларды қарапайым жолмен ала алады бірақ конструкторды жеке етіп жасасақ, ол қолжетімді болмайды сыныптан тыс. Сондай-ақ бағдарламаның кез келген жерінде сыныпты инициализациялау үшін конструкторды конструкторды жалпыға ортақ етеміз.
Мен конструкторымды қалай жалпыға ортақ ете аламын?
Клиенттік кодқа буманың сыртында нысанды жасауға рұқсат етсеңіз, конструкторды жалпыға ортақ етіңіз. Егер жоқ болсаңмұны қалайсыз (өйткені нысан арнайы пакет немесе нысанның өзін тікелей жасау мүмкін емес) package-private пайдаланыңыз.