מהו העברת פרמטרים ב-Java?
מהו העברת פרמטרים ב-Java?

וִידֵאוֹ: מהו העברת פרמטרים ב-Java?

וִידֵאוֹ: מהו העברת פרמטרים ב-Java?
וִידֵאוֹ: Passing Arguments by Value in Java 2024, מאי
Anonim

Java מעביר את ההתייחסות של האובייקט לפי ערך

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

אם ניקח זאת בחשבון, למה אתה מתכוון בהעברת פרמטרים?

העברת פרמטר המנגנון של פעם להעביר פרמטרים לפרוצדורה (תת שגרה) או פונקציה. השיטות הנפוצות ביותר הם ל לַעֲבוֹר הערך של בפועל פָּרָמֶטֶר (התקשר לפי ערך), או ל לַעֲבוֹר הכתובת של מיקום הזיכרון שבו בפועל פָּרָמֶטֶר מאוחסן (שיחה לפי הפניה).

באופן דומה, כיצד מעבירים ערכים לאובייקטים ב-Java? Java תמיד עובר טיעונים על ידי ערך , לא לפי התייחסות. בדוגמה שלך, אתה עדיין חוֹלֵף obj לפי שלו ערך , לא הפניה עצמה. בתוך השיטה שלך changeName, אתה מקצה התייחסות נוספת (מקומית), obj, לאותו הדבר לְהִתְנַגֵד עברת את זה בתור an טַעֲנָה.

אפשר גם לשאול, האם אנחנו יכולים להעביר שיטה כפרמטר ב-Java?

ב Java 8, אתה יכול עַכשָׁיו לַעֲבוֹר א שיטה בקלות רבה יותר באמצעות Lambda Expressions ו שיטה הפניות. ראשית, קצת רקע: ממשק פונקציונלי הוא ממשק שיש לו אחד ורק אחד תַקצִיר שיטה , למרות שזה פחית מכילים מספר ברירת מחדל שיטות (חדש ב Java 8) וסטטי שיטות.

מהם סוגי הפרמטרים השונים?

ישנם ארבעה סוגים שונים של פרמטרים ב-C#: ערך פרמטרים (ברירת המחדל), הפניה פרמטרים (המשתמשים במשנה ref), פלט פרמטרים (המשתמשים במשנה היציאה), ו פָּרָמֶטֶר מערכים (המשתמשים ב-params modifier). אתה יכול להשתמש בכל אחד מהם עם ערך והתייחסות סוגים.

מוּמלָץ: