3.9.3. סיום חייו של האובייקט - Finalization

 במחלקה Object מוגדרת השיטה finalize(). שיטה זו מופעלת באופן אוטומטי רגע לפני שהזיכרון של האובייקט משתחרר. כברירת מחדל פונקציה זו איננה עושה כלום, אולם ניתן לחפוף אותה כך שתבצע פעולות מיוחדות של הרגע האחרון. התפקיד שמיועד בדרך כלל לשיטה זו הוא שחרור משאבי מערכת: סגירת קבצים, סגירת ערוצי תקשורת וכו'. יש לציין כי חשיבותה פחותה מחשיבות ה-Destructor של שפת C++, מכיוון שאיננו יודעים בדיוק מתי היא תקרא – ה-Garbage Collector הוא האחראי על ניהול הזיכרון הדינאמי, וכן מכיוון שב-C++ רוב הפעולות שבוצעו בסיום היו פעולות שחרור זיכרון, שלא קיימות ב-Java.

ביצירתה של המתודה finalize יש מספר כללים:

  1. יש לתת לה את השם finalize().
  2. אסור שיהיו לה פרמטרים.
  3. עליה להחזיר void.
  4. עליה להיות עם הרשאת הגישה protected.

תנאים אלה נדרשים כדי שהיא תבוא במקום המתודה finalize() אשר מועברת בהורשה מהמחלקה Object.



תגיות המסמך:

מאת: anonymos

xss hack

אני רוצה שתעזור לי ב xss אשמח לתשובה
מאת: BLT

תודה רבה!

וואי הצלת אותי! קיבלתי שאלה שלא הצלחתי להבין מה רוצים ממני בכלל ועזרת מאוד, תודה :)
מאת: דולב

מה זה פונקציה?
מאת: משה

עזרה

חיה רצית עזרה ואשמח לעזור
mmh15@windowslive.com
מאת: חיה

תיכנות

יש לי שאלה : כשאני עושה תרגיל מסויים אני וידעת את האלגוריתם אבל לא מצליחה לממש אותה
אתה במקרה מעביר שיעורים פרטיים??אני ממש אשמח
תודה מראש.
מאת: יחזקאל

תחביר

למרות שג'אווה מאפשרת סגנון הכרזה על מערך דומה לזה שבC++, הסגנון המומלץ באופן רשמי שונה - הסוגריים המרובעים באים מיד לאחר הטיפוס ובסמוך אליו, לא בסמוך לשם המערך.
שיתוף:
| עוד