מדוע משתנים חולפים אינם מסודרים?
מדוע משתנים חולפים אינם מסודרים?

וִידֵאוֹ: מדוע משתנים חולפים אינם מסודרים?

וִידֵאוֹ: מדוע משתנים חולפים אינם מסודרים?
וִידֵאוֹ: הרב רפאל זר | סדרת מסילת ישרים | חודש אלול שמח או עצוב? 2024, נוֹבֶמבֶּר
Anonim

חולף היא מילת מפתח ב-Java המסמנת חבר משתנה לא להיות בסידרה כאשר הוא נמשך לזרמים של בתים. כאשר אובייקט מועבר דרך הרשת, האובייקט צריך להיות ' בסידרה '. סדרה ממירה את מצב האובייקט לבייטים סדרתיים.

בהתאם, האם ניתן לבצע משתנה חולף בסידרה?

א משתנה חולף הוא מִשְׁתַנֶה זֶה פחית לא להיות בסידרה . לפי מפרט שפת Java [jls-8.3. 1.3] – " משתנים עשוי להיות מסומן חולף כדי לציין שהם אינם חלק מהמצב המתמשך של אובייקט."

מלבד לעיל, למה אנחנו צריכים משתנים חולפים ב-Java? חולף הוא א משתנים משנה בשימוש בסריאליזציה. בזמן הסידרה, אם אָנוּ אל תעשה רוצה כדי לשמור ערך מסוים מִשְׁתַנֶה אז בקובץ אָנוּ להשתמש חולף מילת מפתח. כאשר JVM נתקל חולף מילת המפתח, היא מתעלמת מהערך המקורי של מִשְׁתַנֶה ושמור את ערך ברירת המחדל של זה מִשְׁתַנֶה סוג מידע.

מלבד זאת, מדוע משתנים סטטיים וחולפים אינם מסודרים?

משתנים סטטיים : אלה משתנים אינם מסודרים , אז במהלך הסידריאליזציה משתנה סטטי הערך ייטען מהמחלקה. משתנים חולפים : משתנים חולפים אינם מסודרים , אז במהלך דה-סיריאליזציה אלה משתנים יאתחל עם ערכי ברירת מחדל מתאימים (לדוגמה: עבור אובייקטים null, int 0).

מדוע שדות סטטיים אינם מסודרים?

סטָטִי מִשְׁתַנֶה. סטָטִי משתנים שייכים למחלקה ו לֹא לכל מקרה בודד. הקונספט של סדרה עוסק במצב הנוכחי של האובייקט. רק נתונים המשויכים למופע ספציפי של מחלקה הם בסידרה , לכן סטָטִי חבר שדות מתעלמים במהלך סדרה.

מוּמלָץ: