כל מה שאתה צריך לדעת על גמר, סוף סוף וגמר ב- Java



מאמר זה בנושא Final, Final ו- Finalize ב- Java ייתן לך רשימה מלאה של הבדלים בין מילות המפתח Final, Final ו- Finalize יחד עם יישומים מעשיים.

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

במאמר זה אעסוק בנושאים הבאים:





אז בואו נתחיל עם מילת המפתח הראשונה בין הגמר, סוף סוף ונסיים בג'אווה.

מילת מפתח סופית

ב- Java, final היא מילת מפתח שיכולה לשמש גם כמשנה גישה. במילים אחרות, מילת המפתח הסופית משמשת להגבלת הגישה של המשתמש. ניתן להשתמש בו בהקשרים שונים כמו:



  1. גמר משתנה
  2. שיטה סופית
  3. כיתה סופית

עם כל אחד מאלה, למילת המפתח הסופית יש השפעה שונה. בואו נראה עכשיו איך זה משפיע על כל אחד מהם אחד אחד.

1. סיום משתנה

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

בואו נראה עכשיו דוגמא.



מחלקה ציבורית A {int var1 = 123 // הצהרת משתנים סופיים int var2 = 345 int int final33 / ניסיון לאתחל משתנה סופי ריק var = 555 // שגיאה A () {var1 = 111 // אין שגיאה var2 = 333 // שגיאת קומפילציה // אתחול של משתנה סופי ריק ריק var3 = 444 // אין שגיאה} // העברת פרמטרים סופיים void avg (int param1, final int param2) {param1 = 2345 // No Error param2 = 1223 // שגיאת קומפילציה} // הכרזת שדות סופיים בטלה () {final int fieldVal = 300000 fieldVal = 400000 // Error}}

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

2. שיטה סופית

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

בואו נראה דוגמא.

// FINAL METHOD class A {final void method_abc () {System.out.println ('זו שיטה סופית ולא ניתן לבטל אותה')} void method_xyz () {System.out.println ('זו שיטה רגילה ו ניתן לעקוף ')}} מחלקה B מרחיבה A {void method_abc {// Compile Time Error} void method_xyz () {System.out.println (' זוהי שיטה נדרסת בכיתה B ')}}

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

3. כיתה אחרונה

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

בואו נראה דוגמא.

// כיתה סופית מחלקה A {// body class} מחלקה B מרחיבה A {// שגיאת קומפילציה // body class}

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

סוף סוף חסום

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

בואו נראה כעת דוגמה לאותו דבר.

מחלקה A {main public static void (String args []) {try {System.out.println ('Try Block') throw new Exception ()} catch (Exception e) {System.out.println ('Catch Block') } סוף סוף {System.out.println ('סוף סוף חסום')}}}

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

סיים את השיטה

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

שיטה זו מוכרזת כמוגנת כדי להגביל את השימוש בה מחוץ לכיתה. אבל אתה יכול לעקוף אותו מתוך הכיתה כדי להגדיר את המאפיינים שלו בזמן איסוף האשפה.

קרא את קובץ ה- XML ​​בדוגמת Java

בואו נראה דוגמה לאותו דבר.

מחלקה ציבורית A {חלל ציבורי לסיים () זורק Throwable {System.out.println ('האובייקט נהרס על ידי אספן האשפה')} חלל סטטי ציבורי ראשי (String [] args) {Edureka test = new Edureka () test = null System.gc ()}}

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

טבלת השוואה - סופית לעומת סופית לעומת מילות מפתח סופיות בג'אווה

גורם סופי סוף סוף לְסַכֵּם
הַגדָרָה סופי הוא מילת מפתח ומשמש כמשנה גישה בג'אווהלבסוף, חסום ב- Java משמש לטיפול בחריגיםFinalize היא שיטה בג'אווה המשמשת לאיסוף זבל
יישום Final ב- Java משמש עם משתנים, שיטות ושיעורים להגדרת הרשאות גישהלבסוף משתמשים בחסימה יחד עם חסימת ניסיון לתפוסנעשה שימוש בשיטת Finalize ב- Java עם אובייקטים שכבר אינם בשימוש
פוּנקצִיָה משתנה סופי ב- Java הוא קבוע שלא ניתן לשנות את ערכו לאחר הקצאתו.

לא ניתן לבטל את השיטה הסופית ב- Java על ידי שיעורי הילדים שלה.

הכיתה הסופית בג'אווה לא יכולה לעבור בירושה על ידי אף כיתת ילדים.

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

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

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