Ոչ, Կոնստրուկտորները կարող են լինել հանրային, մասնավոր, պաշտպանված կամ լռելյայն (առանց մուտքի փոփոխիչ): Ինչ-որ բան մասնավոր դարձնելը չի նշանակում, որ ոչ ոք չի կարող մուտք գործել դրան: Դա պարզապես նշանակում է, որ դասից դուրս ոչ ոք չի կարող մուտք գործել այն: Այսպիսով, մասնավոր կոնստրուկտորը նույնպես օգտակար է:
Կոնստրուկտորները կարո՞ղ են մասնավոր լինել Java-ում:
Java-ում մասնավոր կոնստրուկտորն օգտագործվում է օբյեկտների ստեղծումը սահմանափակելու համար: Այն հատուկ օրինակի կառուցող է, որն օգտագործվում է միայն ստատիկ անդամի դասերում: Եթե կոնստրուկտորը հայտարարված է որպես մասնավոր, ապա նրա օբյեկտները հասանելի են միայն հայտարարվածդասի ներսում: Դուք չեք կարող մուտք գործել դրա օբյեկտներ կոնստրուկտորների դասից դուրս:
Արդյո՞ք լռելյայն կոնստրուկտորները մասնավոր են, թե հանրային:
C++-ում կոնստրուկտորը ավտոմատ կերպով կանչվում է, երբ ստեղծվում է դասի օբյեկտ: Լռելյայնորեն, կոնստրուկտորները սահմանված են դասի public բաժնում:
Ինչու ենք մենք ընդհանուր առմամբ հայտարարում կառուցողին որպես հանրային անդամ Java-ում:
Հանրային կոնստրուկտորը նաև նշանակում է այն կարող է հասանելի լինել դասից դուրս: Մյուս դասը նույնպես կարող է դրանք ստանալ պարզ ձևով, սակայն եթե կառուցողը դարձնենք մասնավոր, այն հասանելի չէ: դասից դուրս. Նաև մենք կոնստրուկտորը դարձնում ենք կոնստրուկտոր որպես հրապարակային՝ ծրագրի ցանկացած կետում դասը սկզբնավորելու համար.
Ինչպե՞ս կարող եմ իմ կոնստրուկտորը հանրայնացնել:
Կառուցիչը դարձրեք հրապարակային, եթե թույլ եք տալիս, որ ձեր հաճախորդի կոդը փաթեթից դուրս ցուցադրի ձեր օբյեկտը: Եթե դուք չեքուզում եմ դա (քանի որ օբյեկտը հատուկ է փաթեթին կամ օբյեկտն ինքնին չի կարող ուղղակիորեն ցուցադրվել) օգտագործել փաթեթ-մասնավոր.