האם לכיתה יכולה להיות קונסטרוקטור?
האם לכיתה יכולה להיות קונסטרוקטור?

וִידֵאוֹ: האם לכיתה יכולה להיות קונסטרוקטור?

וִידֵאוֹ: האם לכיתה יכולה להיות קונסטרוקטור?
וִידֵאוֹ: Java Constructors - Full Tutorial 2024, נוֹבֶמבֶּר
Anonim

זה אפשרי עבור א מעמד ל יש לא בַּנַאִי . (הבחנה שחשוב לצייר כאן היא שה-JVM עושה לא דורש הכל מעמד קבצים ל יש בנאי ; עם זאת, כל מעמד מוגדר בג'אווה כן יש ברירת מחדל בַּנַאִי אם בַּנַאִי אינו מוצהר במפורש.

מזה, האם לכיתה חייב להיות בנאי?

Java אינו דורש א בַּנַאִי כאשר אנו יוצרים א מעמד . המהדר מספק אוטומטית חוסר טיעון ציבורי בַּנַאִי לכל מעמד לְלֹא בנאים . זה נקרא ברירת המחדל בַּנַאִי . אם אנחנו לַעֲשׂוֹת להצהיר במפורש א בַּנַאִי מכל צורה שהיא, אז ההכנסה האוטומטית הזו על ידי המהדר לא תתרחש.

מלבד למעלה, מה יקרה אם לא נכתוב שום בנאי בכיתה? תשובה: ג'אווה לא למעשה דורשים מפורש קונסטרוקטור בכיתה תיאור. אם אתה אל לִכלוֹל בנאי , מהדר Java יצור א בְּרִירַת מֶחדָל בַּנַאִי בקוד הבתים עם ארגומנט ריק.

לגבי זה, כמה בנאים יכולים להיות למחלקה?

אתה יכול לקבל 65535 בנאים ב מעמד (לפי Oracle docs). אבל חשוב לשמור את זה בראש. אנו משיגים זאת רק על ידי בַּנַאִי עומס יתר (https://beginnersbook.com/2013/05/ בַּנַאִי -עומס יתר/). אתה פחית לִיצוֹר בנאים רבים אבל עם שונה חתימות.

האם למחלקה אין בנאי C++?

אם שלך לכיתה אין בנאים , C++ יהיה ליצור אוטומטית ברירת מחדל ציבורית בַּנַאִי בשבילך. זה נקרא לפעמים מרומז בַּנַאִי (או שנוצר באופן מרומז בַּנַאִי ).

מוּמלָץ: