ההבדל בין סטטי לגמר ב- Java

מְחַבֵּר: Laura McKinney
תאריך הבריאה: 2 אַפּרִיל 2021
תאריך עדכון: 6 מאי 2024
Anonim
what is the diff between static and final in java
וִידֵאוֹ: what is the diff between static and final in java

תוֹכֶן


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

  1. טבלת השוואה
  2. הגדרה
  3. הבדלים עיקריים
  4. סיכום

טבלת השוואה

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


הגדרה סטטית

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

class_name.static_member // גישה לחבר סטטי בכיתה

בקוד למעלה שם class_name הוא שם המחלקה בה מוגדר static_member. חבר סטטי יכול להיות משתנה סטטי או שיטה סטטית

משתנים סטטיים:

  • משתנה סטטי פועל כמו משתנה גלובלי עבור כל שאר חברי הנתונים בכיתה.
  • ניתן לגשת למשתנה סטטי לפני שקיים אובייקט כלשהו בכיתה.
  • ניתן לגשת למשתנה סטטי עם שם הכיתה בו הוא מוגדר ולאחריו מפעיל הנקודה (.).

שיטות סטטיות:


  • שיטה סטטית יכולה לקרוא רק לשיטות סטטיות אחרות בלבד.
  • שיטה סטטית יכולה לגשת לנתונים סטטיים בלבד.
  • לא ניתן להפנות לשיטה סטטית "זה" או "סופר" בשום תנאי.
  • ניתן לגשת לשיטה סטטית עם שם הכיתה בו היא מוגדרת ולאחריה מפעיל הנקודה (.).

שיעור סטטי:

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

בלוק סטטי:

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

C ++:

ב- C ++ יש לנו את המושג משתנים סטטיים כמו גם פונקציות סטטיות ואילו C ++ אינם תומכים במעמד סטטי.

C #:

C # תומך במחלקה סטטית, במשתנים סטטיים ובמחלקה סטטית גם.

Java:

Java תומכת בכיתה מקננת סטטית, משתנים סטטיים, שיטות סטטיות.

הגדרת הגמר

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

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

  1. מילת המפתח הסטטית חלה על מחלקה סטטית מקוננת, משתנים, שיטות וחסימות. מצד שני, מילת המפתח הסופית חלה על שיטות ומשתנים בכיתה.
  2. ניתן לאתחל משתנה סטטי בכל עת ואילו, יש לאתחל משתנה סופי בזמן ההכרזה.
  3. ניתן לאתחל משתנה סטטי ואילו לאחר האתחול, לא ניתן לאתחל מחדש משתנה סופי.
  4. שיטה סטטית יכולה לגשת לחבר הסטטי בכיתה וניתן להפעיל אותה רק בשיטות סטטיות אחרות. מצד שני, השיטה הסופית לעולם אינה יכולה לעבור לרשת על ידי שום מעמד.
  5. בלוק סטטי משמש לאתחול המשתנים הסטטיים ואילו מילת המפתח הסופית אינה תומכת בחסימה כלשהי.

סיכום:

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