לא, בונים יכולים להיות ציבוריים, פרטיים, מוגנים או ברירת מחדל (ללא שינוי גישה כלל). הפיכת משהו לפרטי לא אומר שאף אחד לא יכול לגשת אליו. זה רק אומר שאף אחד מחוץ לכיתה לא יכול לגשת אליו. אז גם בנאי פרטי שימושי.
האם בנאים יכולים להיות פרטיים ב-Java?
בנאי פרטי ב-Java משמש להגבלת יצירת אובייקטים. זהו בנאי מופע מיוחד המשמש במחלקות סטטיות לחברים בלבד. אם בנאי מוכרז כפרטי, אז האובייקטים שלו נגישים רק מתוך המחלקה המוצהרת. אינך יכול לגשת לאובייקטים שלו מחוץ למחלקת הבנאי.
האם בוני ברירת מחדל הם פרטיים או ציבוריים?
ב-C++, הבנאי נקרא אוטומטית כאשר אובייקט של מחלקה נוצר. כברירת מחדל, בנאים מוגדרים ב-קטע ציבורי של המחלקה.
למה אנחנו מכריזים בדרך כלל על קונסטרוקטור כחבר ציבורי ב-Java?
הקונסטרוקטור הציבורי אומר גם זה יכול להיות נגיש מחוץ לכיתה. המחלקה האחרת יכולה גם לקבל אותם בצורה פשוטה אולם אם נהפוך את הבנאי לפרטי הוא לא נגיש מחוץ לכיתה. כמו כן, אנו הופכים את הבנאי לבנאי כציבורי כדי לאתחל את המחלקה בכל מקום בתוכנית.
איך אני הופך את הבנאי שלי לציבורי?
הפוך את הקונסטרוקטור לציבורי אם אתה מאפשר לקוד הלקוח שלך מחוץ לחבילה, להפעיל את האובייקט שלך. אם לאwant that(מכיוון שהאובייקט הוא ספציפי לחבילה או שהאובייקט עצמו לא יכול להיות מופע ישירות) use package-private.