חולף ב- Java: מה, למה ואיך זה עובד?



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

Transient ב- Java משמש לסימון המשתנה חבר שאינו מסודר כאשר הוא ממשיך לזרמי בתים. מילת מפתח זו ממלאת תפקיד חשוב לעמוד במגבלות האבטחה . זה מתעלם מהערך המקורי של a מִשְׁתַנֶה ושומר את ערך ברירת המחדל של אותו משתנה .

להלן הנושאים שיידונו במאמר זה:





בואו נתחיל!

מהי מילת מפתח חולפת בג'אווה?

Transient הוא בעצם שינוי משתנים המשמש לסידור. עכשיו, מהי סידור? סידור ב- Java הוא מנגנון המשמש להמרת מצב אובייקט לזרם בתים. בזמן הסידור, אם אינך רוצה לשמור את הערך של משתנה מסוים בקובץ, השתמש במילת המפתח חולפת.



תחביר :

חולף פרטי

אוֹ

פרטי חולף

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



בואו נכתוב דוגמה בסיסית מאוד כדי להבין אודות Transient ב- Java.

מה עושה init בפייתון
יישומי הדגמה בכיתה ניתן להתבצע באמצעות סידורי {// הפיכת בני אדם לחולפים פרטיים ארעיים מחרוזת אנושית ארעית גיל / סדרת שדות אחרים פרטיים שם מחרוזת, כתובת תאריך כניסה // שאר הקוד}

הנה, יצרתי מחלקה בשם Demo המיישמת Serializable. החבר לנתוני הגיל בכיתת הדגמה הוכרז כארעי, ערכו לא יועבר בסידרה. אבל אם אתה מבטל את ערעור האובייקט, תקבל את ערך ברירת המחדל עבור משתנה חולף.

מדוע משתמשים בשינוי חולף?

Transient ב- Java משמש לציון ששדה לא אמור להיות חלק מתהליך הסידור.

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

יתכן שהשאלה הזו תפעל בראש שלך. מתי להשתמש ב- Transient זה ב- Java?

התשובה לכך תהיה:

  1. אתה יכול להשתמש במילת מפתח חולפת זו כאשר יש לך שדות שמקורם / מחושב משדות אחרים במופע של מחלקה.
  2. השתמש בו עם שדות שאינם מסומנים כ- 'Serializable' בתוך JDK או בקוד היישום. הסיבה לכך היא כי מחלקות שאינן מיישמות ממשק Serializable מופנות לכל מחלקה שניתנת לסידור ולא יכולה להיות מסודרת ותזרוק חריג 'java.io.NotSerializableException'. שים לב כי יש לסמן הפניות שאינן מסווגות באופן סידורי 'ארעיות' לפני כן סדרת המעמד הראשי.

כיצד להשתמש בחלוף עם מילת מפתח סופית?

ניתן להשתמש ב- Transient ב- Java עם ה- מילת מפתח סופית מכיוון שהוא מתנהג אחרת במצבים שונים שבדרך כלל אין המקרה עם אחרים מילות מפתח בג'אווה .

בדוק דוגמה זו.

מה זה שעועית ג'אווה
שם פרטי פרטי מחרוזת פרטי שם משפחה אחרון של מחרוזת // שדה סופי 1 חולף סופי ציבורי מחרוזת לעבור = 'סיסמא' // שדה סופי 2 ציבורי סופי ציבורי נעילת נעילה = Lock.getLock ('הדגמה')

כעת כאשר תריץ את הסידור (כתוב / קרא) שוב, תקבל את הפלט הזה:

קני
חָזָק
סיסמה
ריק

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

ההבדל בין חולף לנדיף

זו שאלה חשובה שנשאלה במהלך א . מה ההבדל בין מילת מפתח חולפת לנדיפה בג'אווה?

נָדִיף ו- Transient הן שתי מילות מפתח שונות לחלוטין בהן משתמשים . משתמשים במילת מפתח חולפת במהלך סידור של אובייקט Java. נדיף קשור לנראות של משתנים ששונו על ידי מספר שרשורים.

הדמיון היחיד בין מילות מפתח אלו הוא בכך שמילות מפתח פחות נפוצות או נדירות אינן פופולאריות כמו ציבורי, סטטי או סופי.

זה מביא אותנו לסוף מאמר זה בו למדנו על Transient ב- Java. מקווה שברור לך עם כל מה ששותף איתך במדריך זה.

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

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

אם אתה נתקל בשאלות כלשהן, אל תהסס לשאול את כל השאלות שלך בקטע ההערות של 'חולף בג'אווה' והצוות שלנו ישמח לענות.